Estoy trabajando en un pequeño proyecto ASP.NET MVC en este momento.
Estoy tratando de implementar Nhibernate para persistir en una base de datos de MS Sql Server. Después de haber pasado largas horas estudiando DDD y otros proyectos encontrados en Internet, he decidido ir al patrón de repositorio. Ahora estoy enfrentando un dilema.
¿Realmente necesito un repositorio cuando uso Nhinbernate?
¿No sería mejor tener una capa de servicio (no tengo una capa de servicio en el momento) que interactúa con Nhinbernate evitando escribir muchas veces algo así:ASP.NET MVC, Nhibernate y repositorios para proyectos pequeños/medianos
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);
}
me encontré con un viejo POST de Ayende que está en contra de los repositorios.
Sé que hay un gran debate sobre estos temas y la respuesta es siempre ... depende, pero me parece que con demasiadas capas de abstracciones las cosas se vuelven más complicadas y difíciles de seguir.
¿Estoy equivocado?
Solo una pequeña nota. No hay un proyecto pequeño-mediano, puede ser pequeño por ahora, pero mañana su gerente le preguntará otra característica, y luego otra, y otra, y al final tendrá un gran proyecto con una arquitectura pequeña-mediana . Realmente no me gusta Big Design Up Front, pero a veces necesitas pensar un poco más adelante. – goenning
Estoy de acuerdo con usted por completo pero, en realidad, no puedo ver el beneficio en el uso del repositorio si no fuera por el hecho de que podría no usar nihbernate en el futuro. Está generando mucho trabajo extra que no puedo justificar en este momento. – LeftyX