DEV Community

Yan.ts
Yan.ts

Posted on

DDD Módulos

Today I Learned 09/05/2022

Módulos

Módulos

Em um contexto DDD, Módulos em seu modelo servem como contêineres nomeados para classes de objetos de domínio que são altamente coesas entre si. O objetivo deve ser baixo acoplamento entre as classes que estão em módulos diferentes. Como os módulos usados no DDD não são compartimentos de armazenamento anêmicos ou genéricos, também é importante nomear adequadamente os módulos.
VERNON, Vaughn. Implementando Domain-Driven Design

  • Respeitar a linguagem universal
  • Ter baixo acoplamento
  • Um ou mais agregados somente devem ficar juntos se fizerem sentido
  • Organizado pelo domínio/subdomínio e não pelo tipo de objetos
  • Devem respeitar a mesma divisão quando estão em camadas diferentes

Atualmente as pastas estão divididas da seguinte forma: Estrutura de pastas

onde está separado pelo tipo de objeto e não pelo domínio/subdomínio

Exemplo de como organizar

Dessa forma podemos organizar pelo subdomínio dá pra fazer analogia com as gavetas de uma casa, onde por exemplo antes estávamos organizando por tipo de material vidro, aço, porcelana e agora estamos organizando pelo o que é aquele objeto copos, talheres, panelas, pratos

Ainda estou aprendendo sobre DDD e se quiser ver melhor o código pode dar uma olhada nesse Repositório

Top comments (0)