在应用层(Application)注入 Repository 服务,在 Repository 中转化 Domain 对象,这种方式简单直接,但是很容易将 Repository 的服务做成事务脚本的模式,结果将业务由 Domain 转移到 Repository 的服务中来,做成了伪 DDD 模式。
在应用层(Application)注入 DomainFactory 服务,在 DomainFactory 中构建 Domain 对象时将 Repository 服务导入到 Domain 对象中。Application 无法直接调用 Repository 服务,只能通过 Domain 来操作 Repository 服务,这样避免了 Repository 作为上帝之手的角色。将业务封装在 Domain 中,最大可能的避免 Repository 的臃肿。
我们已经将业务封装在模型中,但是不可能把一个领域的所有业务都封装在一个模型中,为了完成一个领域业务会创建一系列模型,还需要考虑这些模型之间的关系,将一个模块的业务聚合在一个聚合根下面,同一个聚合根下的所有对象只能拥有唯一的访问入口,来保证聚合内部的一致性
采用六边形架构 ,依赖倒置 面向抽象编程,减少对具体实现对依赖。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有