Habilidades ddd-tactical-patterns
📦

ddd-tactical-patterns

Seguro

Aplique Padrões Táticos de DDD ao Seu Código

Tem dificuldade em traduzir regras de domínio em estruturas de código limpo? Esta habilidade orienta você através dos padrões táticos de DDD, incluindo entidades, objetos de valor, agregados, repositórios e eventos de domínio.

Suporta: Claude Codex Code(CC)
🥉 74 Bronze
1

Baixar o ZIP da skill

2

Upload no Claude

Vá em Configurações → Capacidades → Skills → Upload skill

3

Ative e comece a usar

Testar

A utilizar "ddd-tactical-patterns". Modelar um agregado Order com operações submit e cancel

Resultado esperado:

classe Order com campo status privado, método submit() que valida quantidade de itens e aplica invariante de transição única, e método cancel() com condições de guarda apropriadas. Inclui emissão de eventos de domínio para OrderSubmitted e OrderCancelled.

A utilizar "ddd-tactical-patterns". Criar um objeto de valor para endereço de Email

Resultado esperado:

Classe Email imutável com validação regex no construtor, igualdade por comparação de valor e método toString(). Rejeita formatos inválidos no momento da construção.

Auditoria de Segurança

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
Arquivos analisados
79
Linhas analisadas
0
achados
1
Total de auditorias
Nenhum problema de segurança encontrado
Auditado por: claude

Pontuação de qualidade

41
Arquitetura
100
Manutenibilidade
87
Conteúdo
50
Comunidade
100
Segurança
83
Conformidade com especificações

O Que Você Pode Construir

Refatorar Modelos de Domínio Anêmicos

Transformar classes contendo apenas dados em objetos de domínio ricos em comportamento que aplicam regras de negócio.

Projetar Novos Agregados

Estruturar novo código de domínio com limites de agregado adequados e aplicação de invariantes.

Implementar Eventos de Domínio

Adicionar comunicação orientada a eventos entre agregados usando eventos de domínio no tempo passado.

Tente Estes Prompts

Design Básico de Agregado
Preciso modelar um agregado Order. Ajude-me a identificar os invariantes, projetar a entidade com métodos de comportamento e definir objetos de valor apropriados para este domínio.
Modelagem de Objetos de Valor
Crie um objeto de valor imutável para Money que inclua currency e amount. Inclua validação na construção e igualdade por valor.
Design de Contrato de Repositório
Projete uma interface de repositório para o agregado Order que exponha métodos de query amigáveis ao domínio sem vazar detalhes de implementação do ORM.
Implementação de Eventos de Domínio
Ajude-me a definir eventos de domínio para transições de estado do Order. Inclua nomenclatura no tempo passado, payloads mínimos e estratégia de versionamento de schema.

Melhores Práticas

  • Identifique invariantes primeiro, depois projete limites de agregado em torno deles
  • Mantenha objetos de valor imutáveis com validação no momento da construção
  • Nomeie eventos de domínio no tempo passado com payloads mínimos e estáveis

Evitar

  • Regras de consistência síncronas entre agregados que violam limites de transação
  • Vazar entidades ORM para a camada de domínio
  • Controladores contendo lógica de negócio do domínio em vez de objetos de domínio

Perguntas Frequentes

Quando devo usar agregados em vez de entidades simples?
Use agregados quando tiver invariantes que devem ser aplicados transacionalmente. Uma raiz de agregado é o ponto de entrada que garante consistência em todos os objetos dentro de seu limite.
Objetos de valor devem ser mutáveis?
Não. Objetos de valor devem ser imutáveis por padrão. Qualquer modificação cria uma nova instância. Isso garante segurança de thread e simplifica o raciocínio sobre estado.
Como lido com comunicação entre agregados?
Use eventos de domínio para consistência eventual entre agregados. Evite chamadas síncronas que acoplam agregados e quebram limites de transação.
O que pertence em uma interface de repositório?
Interfaces de repositório devem expor métodos de consulta amigáveis ao domínio e apenas persistir ou carregar raízes de agregado. Elas não devem vazar detalhes de implementação específicos do ORM.
Como sei se preciso de eventos de domínio?
Use eventos de domínio quando outras partes do sistema precisarem reagir a mudanças de estado sem acoplamento forte. Eles são essenciais para trilhas de auditoria, notificações e padrões CQRS.
Posso usar esta habilidade para arquitetura de microsserviços?
Sim. Padrões táticos de DDD funcionam bem com microsserviços. Cada serviço pode ter seus próprios agregados, e eventos de domínio podem facilitar a comunicação entre serviços.

Detalhes do Desenvolvedor

Estrutura de arquivos