python-design-patterns
Aplicar Patrones de Diseño Python
Escribe código Python mantenible utilizando patrones de diseño probados como KISS, Responsabilidad Única y Composición sobre Herencia para construir sistemas que sean fáciles de entender, probar y modificar.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "python-design-patterns". Muéstrame cómo refactorizar una clase que maneja registro de usuarios, envía correos, registra actividad y guarda en base de datos
النتيجة المتوقعة:
Un ejemplo refactorizado dividiendo en UserService (lógica de negocio), UserRepository (acceso a datos), EmailNotifier (notificaciones) y ActivityLogger (registro) - cada uno con responsabilidad única.
استخدام "python-design-patterns". Necesito agregar procesamiento de pagos a mi sistema de pedidos. ¿Debería heredar de una clase base Order o usar composición?
النتيجة المتوقعة:
Explicación de por qué se prefiere composición - puedes cambiar proveedores de pagos, probar con fakes y evitar jerarquías de herencia. Ejemplo mostrando PaymentProcessor inyectado en OrderService.
استخدام "python-design-patterns". Tengo tres funciones similares que procesan datos de manera ligeramente diferente. ¿Debería crear una abstracción?
النتيجة المتوقعة:
Aplica la Regla de Espera hasta que veas un patrón claro emerger. Ejemplo de cuándo la duplicación es mejor que una abstracción incorrecta, y cuándo abstraer.
التدقيق الأمني
آمنAll 35 static findings are false positives. The skill is a documentation file containing Python code examples for educational purposes. Python dictionary syntax was misidentified as shell backticks, email examples as network calls, and code examples as cryptographic algorithms or reconnaissance. No actual security risks present.
درجة الجودة
ماذا يمكنك بناءه
Arquitectura de nuevos servicios Python
Al iniciar un nuevo servicio, usa estos patrones para crear una arquitectura limpia y mantenible desde el principio.
Refactorización de código entrelazado
Ante código complejo y acoplado, aplica SRP y Separación de Concerns para desenredar las dependencias.
Evaluación de decisiones de abstracción
Al decidir si crear una abstracción, usa la Regla de Tres para evitar generalizaciones prematuras.
جرّب هذه الموجهات
Necesito resolver [describir problema]. ¿Cuál es la solución más simple que funciona? Muéstrame un ejemplo.
Aquí está mi clase [pegar código] que hace varias cosas. ¿Cómo puedo dividirla en clases con responsabilidades únicas?
Tengo una clase base con comportamiento compartido y quiero extenderla. ¿Cómo puedo usar composición en lugar de herencia? Muestra un ejemplo.
¿Cómo debería organizar [describir tu aplicación] en capas? Muéstrame la separación de concerns con código de ejemplo.
أفضل الممارسات
- Comienza con la solución más simple y agrega complejidad solo cuando esté justificada por requisitos concretos
- Mantén las funciones enfocadas en 20-50 líneas con un propósito único
- Separa las operaciones I/O de la lógica de negocio en capas diferentes
- Inyecta las dependencias a través de constructores para testeabilidad
تجنب
- Crear abstracciones muy pronto antes de entender el dominio
- Usar herencia para reutilización de código en lugar de composición
- Mezclar concerns como manejo HTTP, validación y acceso a base de datos en una clase
- Hacer el código inteligente en lugar de legible