当前位置:  开发笔记 > 编程语言 > 正文

ActiveRecord模式与Domain Object或Data Mapper模式有何不同?

如何解决《ActiveRecord模式与DomainObject或DataMapper模式有何不同?》经验,为你挑选了1个好方法。

我在看DataMapper,乍一看似乎使用了ActiveRecord ORM模式.其他人说它使用DataMapper和/或Domain Object模式.

这些模式有什么区别?



1> thr..:

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

在ActiveRecord中,您有一个域对象,它既知道所有业务逻辑,又知道如何在数据库中保存/更新自己,user.getLinkToProfile()和User :: find(1),User :: save(user)

在DataMapper模式中,您有一个包含所有业务逻辑的域对象,例如exmaple user.getLinkToProfile()(或类似的东西),但对所讨论的数据库一无所知,除此之外,您还有一个负责的mapper-object用于保存,更新,选择等数据库中的用户对象,其中包含UserMapper :: find(1),UserMapper.save(user)

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

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有