Attualmente sto lavorando su un piccolo progetto ASP.NET MVC.
Sto cercando di implementare NHibernate a persistere su un database MS SQL Server. Dopo aver passato lunghe ore a studiare DDD e altri progetti trovati su Internet, ho deciso di scegliere il modello di repository. Ora sto affrontando un dilemma.
Ho davvero bisogno di un repository quando uso Nhinbernate?
Non sarebbe meglio avere un livello di servizio (non ho un livello di servizio al momento) che interagisce con Nhinbernate evitando di scrivere quante volte qualcosa di simile:ASP.NET MVC, Nhibernate e repository per piccoli/medi progetti
public Domain.Reminder GetById(Guid Code)
{
return (_session.Get<Domain.Reminder>(Code));
}
public Domain.Reminder LoadById(Guid Code)
{
return (_session.Load<Domain.Reminder>(Code));
}
public bool Save(Domain.Reminder Reminder)
{
_session.SaveOrUpdate(Reminder);
return (true);
}
public bool Delete(Domain.Reminder Reminder)
{
_session.Delete(Reminder);
return (true);
}
ho trovato un vecchio Il POST di Ayende che è contro i repository.
So che c'è un grande dibattito intorno a questi temi e la risposta è sempre ... dipende, ma mi sembra che con troppi strati di astrazioni le cose si fanno più complicate e difficile da seguire.
Mi sbaglio?
Solo una piccola nota. Non esiste un progetto medio-piccolo, per ora può essere piccolo, ma domani il tuo manager ti chiederà un'altra funzionalità, e poi un'altra e un'altra, e alla fine avremo un progetto enorme con un'architettura medio-piccola . Non mi piace molto il Big Design Up Front, ma a volte devi pensare un po 'più avanti. – goenning
Sono d'accordo con te completamente ma, davvero, non riesco a vedere il vantaggio nell'utilizzo del repository se non per il fatto che non potrei usare nihbernate in futuro. Sta generando molto lavoro extra che non posso giustificare al momento. – LeftyX