Non serializzare il Dominio

rated by 0 users
This post has 3 Replies | 2 Followers

Top 25 Partecipanti
Post 17
Punteggio 295
raffaeu Posted: 09-26-2011 19.07

Ciao a tutti, in questi giorni sto avendo una ardua discussione al lavoro con il team e vorrei far capire loro perche' e' principalmente sbagliato serializzare un dominio medio/complesso.

Personalmente ritengo molto piu' ottimizzabile la trasformazione di una query di dominio in un semplice DTO che puo' essere inviato al Client tramite WCF e ritengo molto impegnativo il dover mantere serializzabile un intero dominio, specialmente se il dominio e' medio/complesso.

Mi piacere sapere un vostro parere a riguardo, se e quando serializzate i domini, perche' no e perche' si.

 

Top 10 Partecipanti
Maschio
Post 243
Punteggio 3.383

Sono residuato da un periodo di lavoro essenzialmente stressante :), per cui mi scuso per la tarda risposta.

Concordo, il dominio non dovrebbe sottostare a queste regole, e non dovrebbe nemmeno essere serializzabile. Dipende a mio avviso molto da quanto il dominio stesso è anemico. Se segui i principi di CQRS ad esempio avrai probabilmente domini con nemmeno proprietà visibili, ma solo metodi, e tutto viene gestito da domain events.

In generale però tutti i giorni ci troviamo con domini più o meno anemici, e quindi la serializzazione può essere un requisito. Una soluzinoe ibrida potrebbe essere questa, io ho ad esempio una classe base in cui tutte le proprietà /(siano esse private o meno) vengono tentute dentro un dizionario, ed ho un serializzatore specializzato che mi serializza lo stato dell'oggetto di dominio. In questo modo puoi un po salvare capra e cavoli.

alk.

  • | Punteggio Post: 20
Top 25 Partecipanti
Post 17
Punteggio 295

Interessante questo approccio, sarebbe bello avere un' idea piu' dettagliata dell' implementazione. Che cosa passi tramite WCF, un DTO o un dizionario di chiavi, valori?

  • | Punteggio Post: 20
Top 10 Partecipanti
Maschio
Post 243
Punteggio 3.383

Per ora mi tengo leggero, normalmente utilizzo dto e quindi non ho tantissimi problemi, però ho necessità talvolta di spostare delle classi di dominio direttamente sul client, in questo caso utilizzo la serializzazione dello stato che attualmente è un semplice formato XML :).

  • | Punteggio Post: 5
Pagina 1 di 1 (4 elementi) | RSS
Powered by Community Server (Commercial Edition), by Telligent Systems