ddd-tactical-patterns
Aplica los Patrones Tácticos de DDD a tu Código
¿Tienes dificultades para traducir reglas de dominio a estructuras de código limpias? Esta habilidad te guía a través de los patrones tácticos de DDD incluyendo entidades, objetos de valor, agregados, repositorios y eventos de dominio.
Descargar el ZIP de la skill
Subir en Claude
Ve a Configuración → Capacidades → Skills → Subir skill
Activa y empieza a usar
Pruébalo
Usando "ddd-tactical-patterns". Modelar un agregado Order con operaciones submit y cancel
Resultado esperado:
clase Order con campo status privado, método submit() que valida el número de items y aplica la invariante de transición única, y método cancel() con condiciones de guarda apropiadas. Incluye emisión de eventos de dominio para OrderSubmitted y OrderCancelled.
Usando "ddd-tactical-patterns". Crear un objeto de valor para dirección de Email
Resultado esperado:
Clase Email inmutable con validación regex en el constructor, igualdad por comparación de valor, y método toString(). Rechaza formatos inválidos en tiempo de construcción.
Auditoría de seguridad
SeguroAll static analysis findings are false positives. The 'external_commands' detections were Markdown backticks around code examples (e.g., `OrderSubmitted`), not actual shell execution. The 'blocker' findings for weak cryptography and system reconnaissance were triggered by documentation text, not executable code. This is a safe educational skill containing only DDD pattern guidance and TypeScript examples.
Puntuación de calidad
Lo que puedes crear
Refactorizar Modelos de Dominio Anémicos
Transforma clases que solo contienen datos en objetos de dominio ricos en comportamiento que hacen cumplir las reglas de negocio.
Diseñar Nuevos Agregados
Estructura nuevo código de dominio con límites de agregado adecuados y aplicación de invariantes.
Implementar Eventos de Dominio
Añade comunicación orientada a eventos entre agregados usando eventos de dominio en tiempo pasado.
Prueba estos prompts
Necesito modelar un agregado Order. Ayúdame a identificar las invariantes, diseñar la entidad con métodos de comportamiento y definir los objetos de valor apropiados para este dominio.
Crea un objeto de valor inmutable para Money que incluya moneda y cantidad. Incluye validación en la construcción e igualdad por valor.
Diseña una interfaz de repositorio para el agregado Order que exponga métodos de consulta amigables al dominio sin filtrar detalles de implementación del ORM.
Ayúdame a definir eventos de dominio para las transiciones de estado de Order. Incluye nomenclatura en tiempo pasado, payloads mínimos y estrategia de versionado de esquemas.
Mejores prácticas
- Identifica las invariantes primero, luego diseña los límites del agregado en torno a ellas
- Mantén los objetos de valor inmutables con validación en tiempo de construcción
- Nombra los eventos de dominio en tiempo pasado con payloads mínimos y estables
Evitar
- Reglas de consistencia sincrónicas entre agregados que violan límites de transacción
- Filtrar entidades del ORM hacia la capa de dominio
- Controladores que contienen lógica de negocio de dominio en lugar de objetos de dominio
Preguntas frecuentes
¿Cuándo debo usar agregados versus entidades simples?
¿Deben los objetos de valor ser mutables?
¿Cómo manejo la comunicación entre agregados?
¿Qué pertenece a una interfaz de repositorio?
¿Cómo sé si necesito eventos de dominio?
¿Puedo usar esta habilidad para arquitectura de microservicios?
Detalles del desarrollador
Autor
sickn33Licencia
MIT
Repositorio
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/ddd-tactical-patternsRef.
main
Estructura de archivos