Olá parceiros de guj,
Lí o livro Domain driven design quickly, que é um “resumo” dos conceitos apresentados no livro do Eric Evans e fiquei com uma grande pulga atras da orelha.
Minha dúvida é em relação aos serviços na camada de modelo. Essa abordagem é necessária em qual situação?
No livro, ele cita o exemplo de uma transferência de valores entre contas correntes. O método que contem a lógica da transferência deveria ficar em que objeto Conta Corrente? No objeto que está recebendo ou no que está enviando o dinheiro.
A sugestão do autor foi criar um serviço de modelo. Este serviço teria a lógica para executar esta operação recebendo dois objetos conta corrente e realizando a operação.
Agora eu pergunto: Isso é realmente necessário?
Estou pensando que as contas devem estar em algum lugar. Provavelmente deve existir o objeto “Banco” neste modelo. Não seria coeso que o método de realizar a transferencia entre contas esteja no objeto em que as contas estão contidas (Banco). Essa não seria uma solução “mais DDD”? Essa abordagem minha pode causar algum impacto negativo no design?!
Bom essa é minha duvida. Ainda não fui atraz da fonte, o livro escrito pelo Eric Evans, mas assim que for possível vou comprar o livro e estuda-lo de acordo.
Está aberta a discussão. Serviços de dominio são necessários?
Abraço a todos,
Ferry