Alkampfer's Place

Il blog di Gian Maria Ricci
posts - 659, comments - 871, trackbacks - 80

My Links

News

Gian Maria Ricci Mvp Logo CCSVI in Multiple Sclerosis

English Blog

Tag Cloud

Article Categories

Archives

Post Categories

Image Galleries

I miei siti

Siti utili

Repository, altre considerazioni

In un thread su guisa si è un po parlato di costruttori e persistenza. Sempre continuando il discorso del repository, volevo dare la mia opinione su come i costruttori si legano al repository. Come anche Fowler dice, la costruzione di un oggetto non è pertinenza del repository, ma il repository ha il seguente scopo

Mediates between the domain and data mapping layers using a collection-like interface for accessing domain objects.

Per questa ragione il ciclo di vita di un oggetto è il seguente: chiamando uno dei costruttori o un metodo factory si crea una nuova istanza, questa nuova istanza è transiente per utilizzare la notazione di Nhibernate. A questo punto il repository entra in gioco perché presenta all'utente una interfaccia collection-like, ovvero si comporta come un contenitore in memoria, internamente il repository dialoga con il layer di persistenza e quindi lo stato dell'oggetto diventa persistente, ma per il chiamante tutto questo è completamente trasparente. Una delle convenienze dei repository è che si possono creare repository solamente per le root degli aggreati in modo da impedire all'utilizzatore di andare a ricostruire direttamente oggetti interni di un aggretago. Una discussione approfondita è comunque fatta nel libro di Evans. Personalmente però non amo l'utilizzo di costruttori o metodi factory per effettuare la reconstitution di un oggetto, ma preferisco accentrare il tutto nel repository.

Alk.

Print | posted on venerdì 28 settembre 2007 18:00 | Filed Under [ DDD ]

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET