Si parla tanto di PI, di POCO, di domain model "anemico" ecc...
Personalmente i miei oggetti del dominio hanno comportamento e quindi
metodi che però rimangono chiusi all'interno del dominio (per capirci
l'assembly del domain model non ha riferimenti ad altri assembly se
non quelli base del .NET fx).
Che metodi sono?
Metodi che servono per fare operazioni di validazione sugli oggetti,
oppure metodi che fanno calcoli e/o ordinamenti di collezioni in
memoria, oppure metodi che servono per aggiungere oggetti a collezioni
(il classico AddChild(Child c)).
Sulla mailing list dedicata al DDD è ripartita una annosa discussione
sul fatto se sia o meno importante che il dominio sia completamente
ignorante sul resto del mondo.
Qualcuno dice che i suoi oggetti del DM usano i repository (tramite
delle interfacce IXyzRepository) per compiere operazioni sui dati. Voi
come vedete la cosa?
Io tempo fa la vedevo come il male, oggi ho un atteggiamento un po'
più morbido perchè non trovo troppi problemi di manutenibilità e/o
design...anche se non ho ancora fatto un DM in questo modo...qualcuno
ha esperienza in merito?
Alla fin fine vuol dire che il mio oggetto Fattura può avere un
riferimento al repositori IFatturaRepository per caricare quando serve
l'elendo dei dettagli, o per eseguire una query per calcolare
l'importo totale.
Che ne dite?
---
ema
http://blogs.ugidotnet.org/blogema