Domain Service pode invocar diretamente a interface de um Repository, em vez de passar pela camada de Application, em casos onde há necessidade de aplicar regras de negócio específicas relacionadas ao domínio?
Domain Service pode invocar diretamente a interface de um Repository, em vez de passar pela camada de Application, em casos onde há necessidade de aplicar regras de negócio específicas relacionadas ao domínio?
Depende da organização da aplicação, eu já trabalhei em uma aplicação que tinha Arquitetura Limpa + DDD, o fluxo da aplicação pelas camadas eram assim:
controller --> application --> domain service --> repository
o controller não poderia chamar domain service diretamente, precisaria passar por application, mas esse controle de fluxo tinha mais haver com Arquitetura Limpa do que com DDD
Mas uma das práticas do DDD se chama Layered Architecture, que é o conceito de arquitetura em camadas onde a ideia é manter o conhecimento do domínio focado e não espalhado por diferentes componentes da aplicação, como Ui, banco de dados, camada de persistência etc.
DDD estabelece essa prática, mas não determina em que ordem o fluxo deve ocorrer, ou se Domain Service não pode invocar diretamente um Repository... Vai depender da organização em que você está trabalhando...
então nessa aplicação você sempre chama o repository na domain service ?
isso Antonio, correto
nessa aplicação que eu trabalhei sim