Un buon esempio di IoC e separation of concerns

Parlo di Cuyahoga, il noto CMS basato su Castle Windsor e NHibernate. Incuriosito da questo post di Ayende ieri ne ho spulciato un po' i sorgenti. E visto che li considero didatticamente interessanti, ve li consiglio.

Certo, non è da prendere tutto come oro colato (il modulo del Forum, ad esempio, espone tutti i servizi in una grande, enorme, monolitica classe, che accede direttamente a NHibernate, brrrrr...) però può essere una buona sorgente per qualche idea.

Tanto per dirne una, mi è piaciuta la strutturazione del Data Access Layer che sfrutta la "trasversalità" di NHibernate: IUserDao espone solo i servizi specifici dell'utente (es. Autenticazione, GetByUsername), mentre i servizi generici (GetById, ListAll, ecc.ecc.) sono forniti da ICommonDao, che però avrei preferito sfruttasse i generics.

Magari se non avete nulla di interessante da leggere nel vostro feed aggregator, dateci un'occhiata!

Comments

# re: Un buon esempio di IoC e separation of concerns
Gravatar Ciao Marco, a tal proposito ci tengo a segnalarti un progetto trovato spulciando su CodeProject (http://www.codeproject.com/aspnet/NHibernateBestPractices.asp) e la baseline che utilizzo ad oggi per i miei progetti web NH + Windsor (e anche + Monorail).
In particolare il Dal è costruito proprio come dici tu, un AbstractNhibernateDao (astratto e generico) che implementa una interfaccia interfacce (generica anche essa) ... e i singoli dao sono "solo" devono solo descivere, eventualmente, i metodi propri di quelle classi di dominio.
Ok, da quello che ho scritto non si capisce niente, fai prima a dargli una occhiata !!!
Left by Gianluca Gravina on 29/11/2007 13.01
# re: Un buon esempio di IoC e separation of concerns
Gravatar Nulla di interessante...mmmm...non so...stavo consultando supertangas...dici che è meglio leggere ayende? :-)
Left by Giancarlo Sudano on 29/11/2007 13.02
# re: Un buon esempio di IoC e separation of concerns
Gravatar Dite che è chiaro il concetto ??? Scherzi a parte ... chiedo scusa ... Firefox mi ha tradito e ho postato 3 volte !
In ginocchio sui ceci !
Left by Gianluca Gravina on 29/11/2007 13.05
# re: Un buon esempio di IoC e separation of concerns
Gravatar Eheheheh! Ho provveduto a rimediare ;-)

Grazie per il link!
Left by Marco De Sanctis on 29/11/2007 14.19

Leave Your Comment

Title*
Name*
Email (never displayed)
 (will show your gravatar)
Url
Comment*

Please add 6 and 8 and type the answer here:

Preview Your Comment.