加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

域驱动设计 – DDD存储库和工厂

发布时间:2020-12-14 00:51:26 所属栏目:百科 来源:网络整理
导读:在我的应用程序中有几层. 本主题将重点介绍域和基础结构层. 我在域层中有存储库接口ClientRepositoryInterface. 我在Infrastructure层中实现了此接口ClientRepositoryImpl. 但是为了在其存在的循环中间重构对象,我需要工厂(ReconstitutionClientFactory). 调
在我的应用程序中有几层.
本主题将重点介绍域和基础结构层.

我在域层中有存储库接口ClientRepositoryInterface.
我在Infrastructure层中实现了此接口ClientRepositoryImpl.

但是为了在其存在的循环中间重构对象,我需要工厂(ReconstitutionClientFactory).
调用工厂将在存储库中.
埃里克埃文斯的书被描述为正常的做法.

但是应该找到这个工厂(ReconstitutionClientFactory)?在域或基础架构层?

我想在Domain …
但!但是下层将直接调用更高层!
这是错的,但怎么做对了?

首先,层方法有点过时了.在谈论层次时,思考“背景”,谁更重要的是谁.

存储库负责恢复对象.工厂只是创建一个新对象.注意不同的语义.存储库知道如何完成对持久性的保存/恢复,这取决于存储和访问方法.

因此,一切都在存储库内完成,即在基础结构中完成.如果你序列化了东西,那么你只需要反序列化(这就是文档数据库做事情的方式).如果您正在使用ORM或在表中存储内容,那么您将执行获取数据和重新填充对象所需的所有查询. ORM是最简单的方法,因为它可以使用反射来填充私有属性.在这种情况下,ORM本身就是工厂.

还有一件事,即恢复,虽然技术上可以由域工厂完成,但工厂的目的并不是因为它打破了层边界.我们希望保持基础架构中的所有持久性相关.

(编辑:李大同)

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

    推荐文章
      热点阅读