rails consultas active ruby-on-rails activerecord datamapper

ruby on rails - consultas - ¿Cómo se diferencia el patrón de ActiveRecord del patrón de objeto de dominio o de mapeador de datos?



php active records (2)

El registro activo es muy pesado, el correlacionador de datos y el objeto de dominio están separando esas preocupaciones para que tenga un conjunto de códigos más definido que haga varios aspectos para los objetos "de dominio" o "entidad".

Yo personalmente prefiero, no es que lo preguntes, yendo con la separación en objeto de dominio, mapeador de datos, probablemente use un patrón de ensamblaje e incluso un patrón de transferencia de datos para asegurar una separación clara de lo que sucede con los datos entre la base de datos y los niveles superiores de una aplicación .

... las separaciones elegantes y simples siempre ayudan.

Estaba mirando DataMapper , que apareció a primera vista para usar el patrón ActiveRecord ORM. Otras personas dijeron que usa el patrón DataMapper y / o el objeto de dominio.

¿Cuál es la diferencia entre esos patrones?


La principal diferencia entre los dos patrones es esta:

  • En ActiveRecord tiene un objeto de dominio que conoce toda la lógica comercial y cómo guardar / actualizarse en la base de datos, user.getLinkToProfile () y User :: find (1), User :: save (user)

  • En el patrón DataMapper tiene un objeto de dominio que contiene toda la lógica de negocios, para exmaple user.getLinkToProfile () (o algo similar) pero no sabe nada sobre la base de datos en cuestión, además de esto tiene un mapper-object que es responsable para guardar, actualizar, seleccionar, etc. objetos de usuario de la base de datos que tendría UserMapper :: find (1), UserMapper.save (usuario)

DataMapper es potencialmente más complejo que ActiveRecord pero es mucho más fácil desarrollar su modelo de dominio y base de datos asincrónicos que con ActiveRecord.