Active Record es un patrón de diseño para el acceso a los datos ...
Por el momento hay dos patrones principales de diseño que parece venir a través, relativo al acceso de datos: ActiveRecord y el patrón Repositorio
Active Record
sus objetos contienen métodos para persistir su estado a una base de datos (u otro mecanismo de persistencia) para:
Puede tener un objeto Cliente.
El objeto del cliente tendrá varios métodos como Customer.Save() ;, Customer.Get (int id); y otros.
Estos métodos realmente no tienen nada que ver con un cliente en el mundo real. Realmente se trata de la infraestructura de su aplicación.
patrón Repositorio
en el patrón de repositorio, el objeto de cliente habría un POCO, o un objeto mudo. Sólo se dispone de métodos y propiedades que lo que realmente necesita para representar a un cliente (cosas como nombre, dirección de correo electrónico, órdenes de lista, etc.)
Cuando se desea mantener al cliente - simplemente pasarlo a su repositorio
Repository.Save (MyCustomer).
El patrón de registro activo es rápido y fácil de trabajar. Lamentablemente, complica su modelo de dominio con estos métodos que en realidad no tienen nada que ver con un cliente. Esto hace que sea un poco más difícil mantener su modelo de dominio a lo largo del tiempo.
Para muchas situaciones, es muy apropiado utilizar un patrón de registro activo. Por ejemplo, si estoy escribiendo una aplicación bastante simple que probablemente no va a cambiar demasiado, probablemente active SubSonic y genere un registro activo DAL. Codificaría mi código de negocio en 20 minutos y ya se han solucionado todas las cuestiones de DB.
Si, por el contrario, estoy modelando un dominio particularmente complejo, con alta susceptibilidad a cambiar, prefiero mantener mis modelos de dominio limpia, e implementar un modelo de repositorio con NHibernate o similares ...
Ha pasado mucho tiempo desde que implementé mi propio acceso a datos usando ADO.Net, y realmente no lo recomiendo ahora que hay tantas herramientas de acceso a datos disponibles.
1. Muy buena explicación –