Posso usare un modello di dominio avanzato con WCF?
-
10-07-2019 - |
Domanda
È possibile utilizzare DDD e un modello di dominio avanzato se l'applicazione è simile:
- client Windows (WPF)
- servizio windows
E la comunicazione avviene con WCF?
Sono abituato ad avere DTO con solo stato dei dati e regole aziendali all'interno del livello di servizio, ma tutti continuano a dirmi che dovrei avere un modello di dominio ricco in cui lo stato dei dati e le regole / i metodi sono tutti negli oggetti stessi .
Non sono sicuro che questo modello di dominio avanzato si applicherebbe a un sistema che ha un'interfaccia utente e comunica tramite WCF a un servizio (come ho presentato sopra). Nel mio caso è meglio continuare a utilizzare un modello di dominio anemico a causa di WCF? In caso contrario, potresti fornire un esempio su come architettarlo utilizzando un modello di dominio avanzato, considerando WCF, proxy, ecc.
Grazie!
Soluzione
In generale, serializzi gli oggetti del tuo dominio per la trasmissione attraverso WCF come DTO semplificato comunque, e sono questi che vengono utilizzati dall'applicazione client.
Puoi serializzare l'utente definito tipi e li deserializza nel client, ma per la maggior parte delle applicazioni questo non è necessario. Finché non hai bisogno del comportamento "ricco" dei tuoi oggetti nel tuo client (cosa che non dovresti comunque avere un buon DDD), mi sembra che tu stia bene a usare un design ricco nel tuo livello di servizio e inviare semplici DTO attraverso il filo.