Een repository laadt een saved domein objecten in een persistence store. (db, xml file, whatever).
Nu zou je de repositories en de domein objecten in één assembly kunnen stoppen. Dit heeft als voordeel dat je domein object bv een methode heeft die enkel zichtbaar is binnen diezelfde assembly (dll). Die method gaat het domein object bv initialiseren met waardes uit de DB; je kan nog zo'n aantal methods hebben die bv een domein object als 'new' markeren, of als 'clean'/dirty, etc...
Er kleeft aan deze manier echter ook een nadeel:
de 'persistence logica' (nhibernate toestanden, zelf geschreven dal's, etc...) zullen ook in diezelfde assembly terechtkomen. (Dit kan niet gescheiden worden, aangezien je anders een circulaire referentie hebt).
Nu kan je natuurlijk de repositories in een andere assembly gaan stoppen en de domein objecten ook in een aparte assembly, maar hoe ga je dan gaan aangeven aan een object dat het 'new', 'dirty', 'clean' oid is ? Ik kan dat natuurlijk mbhv reflection gaan doen, maar dat heeft als nadeel dat je geen compile time checking hebt
De vraag : hoe pakken jullie het aan ?
Nu zou je de repositories en de domein objecten in één assembly kunnen stoppen. Dit heeft als voordeel dat je domein object bv een methode heeft die enkel zichtbaar is binnen diezelfde assembly (dll). Die method gaat het domein object bv initialiseren met waardes uit de DB; je kan nog zo'n aantal methods hebben die bv een domein object als 'new' markeren, of als 'clean'/dirty, etc...
Er kleeft aan deze manier echter ook een nadeel:
de 'persistence logica' (nhibernate toestanden, zelf geschreven dal's, etc...) zullen ook in diezelfde assembly terechtkomen. (Dit kan niet gescheiden worden, aangezien je anders een circulaire referentie hebt).
Nu kan je natuurlijk de repositories in een andere assembly gaan stoppen en de domein objecten ook in een aparte assembly, maar hoe ga je dan gaan aangeven aan een object dat het 'new', 'dirty', 'clean' oid is ? Ik kan dat natuurlijk mbhv reflection gaan doen, maar dat heeft als nadeel dat je geen compile time checking hebt
De vraag : hoe pakken jullie het aan ?
[ Voor 6% gewijzigd door whoami op 04-11-2005 16:02 ]
https://fgheysels.github.io/