Skip to main content

Pacotes

Pacotes organizam o comportamento do Portal 2 fora do bootstrap das aplicações. Cada pacote deixa claro quem é responsável por uma regra, um contrato ou uma capacidade técnica.

Essa organização não é apenas uma convenção de pastas. Ela limita dependências, facilita testes e evita que uma mudança de uma área altere partes não relacionadas.

Dois tipos de pacote

TipoResponsabilidadeExemplo de conteúdo
DomínioRegras e operações de uma área de negócio.Casos de uso, entidades, validações de negócio e eventos.
SharedCapacidades técnicas usadas por mais de uma área.Configuração, logs, comunicação, persistência e objetos reutilizáveis.

Regra de dependência

Um pacote expõe somente o contrato de que outro módulo precisa. Os detalhes internos permanecem privados. Quando dois domínios colaboram, eles usam um contrato público ou um evento, em vez de acessar arquivos internos um do outro.

Essa regra permite alterar uma implementação local sem obrigar todos os consumidores a mudar junto.

Como decidir onde criar código

  1. Nomeie a regra ou capacidade que você precisa implementar.
  2. Pergunte se ela descreve uma decisão de negócio ou uma necessidade técnica.
  3. Se for uma decisão de negócio, identifique o domínio responsável.
  4. Se for uma capacidade técnica reutilizável e sem regra de negócio, avalie o Shared.
  5. Se nenhum pacote existente é responsável, discuta o limite antes de criar uma nova abstração.

Próximos passos

Leia Domínios para escolher o dono de uma regra. Leia Shared antes de extrair uma biblioteca ou módulo técnico.