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, Removemétodos en la ProductRepositoryimplementació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.Saveint el Addmétodo, session.Deleteen el removemé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.