ruby-on-rails – ActiveRecord模式与Domain Object或Data Mapper模式有何不同?

我正在看着 DataMapper,它首先出现在使用ActiveRecord ORM模式.其他人说它使用DataMapper和/或域对象模式.

这些模式有什么区别?

解决方法

这两种模式的主要区别在于:

>在ActiveRecord中,您有一个域对象既知道所有业务逻辑,又如何在数据库user.getLinkToProfile()和User :: find(1)中保存/更新自身,User :: save(user)
>在DataMapper模式中,您有一个拥有所有业务逻辑的域对象,用于exmaple user.getLinkToProfile()或类似的东西,但不知道有关数据库,除此之外,还有一个mapper对象负责从数据库中保存,更新,选择等用户对象,用户对象将具有UserMapper :: find(1),UserMapper.save(user)

DataMapper可能比ActiveRecord更复杂,但是使用ActiveRecord开发您的域模型和数据库异步起来要容易得多.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...