2
respostas

Aggregates

Nesse caso do Aluno e Telefone é simples.

Mas se eu tivesse dois agregados diferentes, Cliente e Pedido, e uma regra de negócio onde um Cliente não pode realizar mais que 10 Pedidos, como eu manteria essa consistência? Eles formariam um único agregado ou devo ter outra abordagem?

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
2 respostas

Oi Diego,

Seria parecido, sendo que na classe Cliente você teria métodos para manipular os pedidos(adicionar, alterar, remover, etc.) e nesses métodos você realiza as validações de negócio.

Bons estudos!

Obrigado pela resposta Rodrigo.

Mas só pelo fato de conter essa invariante eu moveria o Pedido para o agregado de Cliente? Isso poderia ser feito através de um serviço de domínio ou o correto é mesmo o Cliente se tornar agora o root de Pedido? A minha dúvida é por que começaríamos a ter agregados muito grandes e um dos conselhos do DDD é manter agregados pequenos, fora que o Pedido já contém uma coleção de Itens do Pedido.

Após ter esse dúvida eu encontrei esse tópico bastante similiar a minha dúvida e em nenhuma das respostas se aconselha a mover o Pedido para o Cliente. Se puder emitir uma opinião pessoal seria de grande valia para a compreensão.