Habilidades ddd-tactical-patterns
📦

ddd-tactical-patterns

Seguro

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.

Soporta: Claude Codex Code(CC)
🥉 74 Bronce
1

Descargar el ZIP de la skill

2

Subir en Claude

Ve a Configuración → Capacidades → Skills → Subir skill

3

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

Seguro
v1 • 2/24/2026

All 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.

2
Archivos escaneados
79
Líneas analizadas
0
hallazgos
1
Auditorías totales
No se encontraron problemas de seguridad
Auditado por: claude

Puntuación de calidad

41
Arquitectura
100
Mantenibilidad
87
Contenido
50
Comunidad
100
Seguridad
83
Cumplimiento de la especificación

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

Diseño Básico de Agregado
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.
Modelado de Objetos de Valor
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ño de Contrato de Repositorio
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.
Implementación de Eventos de Dominio
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?
Usa agregados cuando tengas invariantes que deban aplicarse transaccionalmente. Una raíz de agregado es el punto de entrada que asegura la consistencia de todos los objetos dentro de su límite.
¿Deben los objetos de valor ser mutables?
No. Los objetos de valor deben ser inmutables por defecto. Cualquier modificación crea una nueva instancia. Esto asegura seguridad de hilos y simplifica el razonamiento sobre el estado.
¿Cómo manejo la comunicación entre agregados?
Usa eventos de dominio para consistencia eventual entre agregados. Evita llamadas sincrónicas que acoplen agregados y rompan los límites de transacción.
¿Qué pertenece a una interfaz de repositorio?
Las interfaces de repositorio deben exponer métodos de consulta amigables al dominio y solo persistir o cargar raíces de agregado. No deben filtrar detalles de implementación específicos del ORM.
¿Cómo sé si necesito eventos de dominio?
Usa eventos de dominio cuando otras partes del sistema necesiten reaccionar a cambios de estado sin acoplamiento estrecho. Son esenciales para trails de auditoría, notificaciones y patrones CQRS.
¿Puedo usar esta habilidad para arquitectura de microservicios?
Sí. Los patrones tácticos de DDD funcionan bien con microservicios. Cada servicio puede tener sus propios agregados, y los eventos de dominio pueden facilitar la comunicación entre servicios.

Detalles del desarrollador

Estructura de archivos