Sto lottando con un concetto di DDD nella progettazione di radici aggregate. Ho un cliente, che ha più progetti, i progetti hanno più incarichi di progetto, che ha più dipendenti. Sembra naturale avere un ClientRepository, che gestisca Project, e non esporre un ProjectRepository. Dopotutto un progetto deve appartenere a un cliente. Ma ... gli affari arrivano a lungo e vogliono una pagina che mostri tutti i progetti, indipendentemente dal cliente. Fondamentalmente un dump della tabella Project. Non c'è modo di ottenere tutti i Progetti da ClientRepository o dall'oggetto ClientDomain stesso, quindi esponi un ProjectRepository in quel caso?
Solo per lo sfondo il mio stack tecnologico è Java, Spring, Spring-Data-JPA, Hibernate, sebbene DDD sia indipendente dalla tecnologia.