加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 程序设计 > 正文

域驱动设计 – DDD存储库的优点和缺点

发布时间:2020-05-27 19:03:25 所属栏目:程序设计 来源:互联网
导读:优点: 存储库隐藏复杂查询. 存储库方法可以用作事务边界. ORM很容易被嘲笑 缺点: ORM框架已经提供了一些集合,如持久化对象的接口,存储库的意图是什么.因此,存储库为系统增加了额外的复杂性. 组合爆炸时使用findBy方法.可以使用Criteria对象,查询或示例对象

优点:

>存储库隐藏复杂查询.
>存储库方法可以用作事务边界.
> ORM很容易被嘲笑

缺点:

> ORM框架已经提供了一些集合,如持久化对象的接口,存储库的意图是什么.因此,存储库为系统增加了额外的复杂性.
>组合爆炸时使用findBy方法.可以使用Criteria对象,查询或示例对象来避免这些方法.但是要做到这一点,不需要存储库,因为ORM已经支持这些方法来查找对象.
>由于存储库是聚集根(在DDD意义上)的集合,所以必须创建和传递聚合根,即使只修改了一个子对象.

问题:

你知道什么利弊?
>你会建议使用存储库吗? (为什么或者为什么不?)

存储库的关键点(如单一责任原则)是抽象获取具有身份的对象的概念.当我变得更加舒适的DDD,我没有发现有用的思考仓库主要集中在数据持久性,而是作为实例化对象和坚持他们的身份的工厂.

当您使用ORM时,您应该以尽可能有限的方式使用他们的API,给自己一个可能是具体领域的立面.所以不管您的域名仍然会看到一个存储库.另一方面有一个ORM的事实是一个“实现细节”.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读