In Vaughn Vernon 's book Implementazione del design basato sul dominio e l'accompagnamento applicazione di esempio Ho scoperto che ha implementato un approccio CQRS per iddd_collaboration contesto limitato.
Presenta le seguenti classi nel livello di servizio dell'applicazione:
- CalendarApplicationService.java
- CalendarEntryApplicationService.java
- CalendarEntryQueryService.java
- CalendarQueryService.java
Mi interessa sapere se un'applicazione presenterà una pagina di ricerca che presenta numerosi menu a discesa e caselle di controllo con una casella di testo intelligente per abbinare diversi pattern di ricerca; Come strutturerai tutta la logica di ricerca?
In un servizio di comando o un servizio di query?
Dai un'occhiata a CalendarQueryService.java Vedo che ha 2 metodi per una query enorme, ma nessuna logica per mescolare e abbinare i filtri di ricerca, ad esempio.
Ho sentito che il livello dell'applicazione non dovrebbe avere alcuna logica di business, quindi dove costruirò la mia query dinamica? o forse solo ingombrare tutto nel servizio Query?