architecture-patterns
Implementar patrones de arquitectura backend
Également disponible depuis: Barnhardt-Enterprises-Inc,AdamManuel-dev
Construir sistemas backend mantenibles requiere patrones de arquitectura probados. Esta habilidad te ayuda a implementar Clean Architecture, Hexagonal Architecture y Domain-Driven Design para crear aplicaciones comprobables, escalables y con una adecuada separación de responsabilidades.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "architecture-patterns". Create a Clean Architecture structure for a user management system
Résultat attendu:
La habilidad genera una estructura completa de directorios con domain/entities que contiene la entidad User, domain/interfaces con el puerto IUserRepository, use_cases que incluye CreateUserUseCase y UpdateUserUseCase, adapters/repositories con la implementación PostgresUserRepository, y adapters/controllers con UserController para el manejo HTTP. Cada componente demuestra el flujo correcto de dependencias y la separación de responsabilidades.
Utilisation de "architecture-patterns". Implement a payment gateway adapter using hexagonal architecture
Résultat attendu:
La habilidad crea una interfaz PaymentGatewayPort que define el contrato del método charge, y luego implementa tanto StripePaymentAdapter para producción como MockPaymentAdapter para pruebas. Ambos adaptadores implementan la misma interfaz de puerto, lo que permite intercambiarlos fácilmente sin cambiar la lógica de negocio. El ejemplo incluye manejo de errores y patrones adecuados de async/await.
Utilisation de "architecture-patterns". Design an Order aggregate with DDD patterns
Résultat attendu:
La habilidad diseña una entidad Order como raíz de agregado con métodos add_item, calculate_total y submit que encapsulan reglas de negocio. Incluye la entidad OrderItem, el objeto de valor Money para el manejo de moneda, el enum OrderStatus para la gestión de estado y eventos de dominio como OrderSubmittedEvent. El agregado hace cumplir invariantes y mantiene los límites de consistencia.
Audit de sécurité
SûrAll 43 static analysis findings are false positives from educational code examples in documentation. The skill teaches software architecture patterns through Python examples showing Clean Architecture, Hexagonal Architecture, and Domain-Driven Design. No executable code, network access, or security vulnerabilities present.
Score de qualité
Ce que vous pouvez construire
Diseñar la arquitectura de un nuevo servicio backend
Planificar e implementar un nuevo microservicio usando principios de Clean Architecture con separación adecuada de capas, inyección de dependencias y lógica de negocio comprobable.
Refactorizar una aplicación monolítica
Transformar una aplicación monolítica fuertemente acoplada en una arquitectura hexagonal bien estructurada con puertos y adaptadores para facilitar pruebas y mantenimiento.
Implementar patrones de Domain-Driven Design
Modelar dominios de negocio complejos usando patrones tácticos de DDD, incluyendo agregados, entidades, objetos de valor y eventos de dominio para una mejor alineación con el dominio.
Essayez ces prompts
Crea una estructura de carpetas de Clean Architecture para un sistema de gestión de pedidos de comercio electrónico con entidades de dominio, casos de uso y adaptadores.
Implementa una interfaz de puerto de repositorio de usuarios y un adaptador PostgreSQL siguiendo principios de arquitectura hexagonal con acceso asíncrono a base de datos.
Diseña un agregado Order con entidades de dominio, objetos de valor y reglas de negocio para añadir ítems, calcular totales y transiciones de estado.
Refactoriza este endpoint de FastAPI que tiene lógica de negocio en el controlador a un caso de uso adecuado con inyección de dependencias y separación de responsabilidades.
Bonnes pratiques
- Apunta siempre las dependencias hacia adentro, de las capas externas a las internas; nunca permitas que la capa de dominio dependa de infraestructura
- Usa interfaces y puertos para definir contratos en la capa de dominio, e implementa adaptadores en las capas externas para facilitar pruebas
- Mantén la lógica de negocio en entidades de dominio y casos de uso; los controladores solo deben manejar preocupaciones HTTP y delegar a los casos de uso
Éviter
- Colocar la lógica de negocio en controladores o manejadores de API en lugar de casos de uso y entidades de dominio
- Crear modelos de dominio anémicos con solo propiedades de datos y sin comportamiento, poniendo toda la lógica en servicios
- Acoplar fuertemente la capa de dominio a frameworks, bases de datos o APIs externas específicas sin interfaces de abstracción