Estoy leyendo el oficial Tu primera aplicación basada en NHibernate .
Si bien el tutorial es bueno y fácil de seguir, me pregunto por qué se usa el patrón Repository.
En las diversas Add
, Update
, Remove
métodos en la ProductRepository
implementación, el código es casi idéntica - todos ellos están utilizando transacciones, y la diferencia está en la "carne", es decir llamada session.Save
int el Add
método, session.Delete
en el remove
método. ( La página carece de anclajes HTML, pero puede buscar en la página el código relevante como public void Remove
,public void Add
)
Ese código simplemente "se siente mal".
¿Por qué el autor usa el patrón Repository? ¿Es solo para demostrar el uso de NHibernate o es necesario o por alguna otra razón?
PD. Mi experiencia es de Ruby on Rails usando ActiveRecord, así que estoy tratando de entender cómo funciona / se utiliza NHibernate.