领域驱动设计之体系架构模式

我们传统的体系架构模式是三层架构:

我认为传统的三层架构主要存在以下问题:

1.业务层直接访问数据访问层,也就是业务层直接与数据打交道,与数据实现机制绑定太紧。

2.数据访问层的地位太突出,而且没有体现系统所需要的其他基础服务机制。

3.业务层并没有很好的指导应该如何进行构建。

DDD经典分层架构:

一.用户界面层

1.请求应用层获取用户需要显示的信息

2.发送命令给应用层要求执行某个命令

二.应用层

对用户界面层提供各种应用功能(包括信息获取与命令执行),应用层不包含业务逻辑,业务逻辑是由应用层调用领域层(领域对象或领域服务)来完成,应用层是跟薄的一层。

三.领域层

包含领域对象与领域服务,完成系统所需的业务处理,是系统的的核心。业务逻辑与仓储接口都在领域层。

四.基础结构层

包含其他层所需要使用的所有基础服务于技术,比如仓储的实现(与数据库打交道)、短消息发送、Json字符串处理等。

注意:

聚合根负责聚合的业务规则一致性,如果需要保证聚合间设计到的数据库方面的事务的一致性,通常通过工作单元机制处理,工作单元可以在领域服务中使用,也可以在应用层服务中使用,仓储实现是不用考虑数据库的事务的。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏何俊林

微信小程序公测了!教你第一时间注册微信小程序

 11 月 3 日晚 22:18分,我还在码字,微信公众平台发布了微信小程序开放公测的消息。出现一张二维码,紧接着,可能吧阿禅,推出文章,看得出来,是早就写好的...

2456
来自专栏我是攻城师

Google证实下个版本的Android将不使用甲骨文的Java API

3026
来自专栏小白课代表

再见,广告。

火绒已经给小伙伴们推荐过好多次了,今天详细讲一下如何使用Adblock Plus。

1493
来自专栏云市场·精选汇

如何注册小程序?(附完整注册流程)

方式一:登录微信公众平台(http://mp.weixin.qq.com/),单击右上角的“立即注册”。

2688
来自专栏程序你好

如何保证你的智能手机安全和私密,手机安全需要做到的事

近十年以来,智能手机的应用越来广泛,各种流行的App层出不穷,可以说iPhone这样的智能手机已经彻底改变了我们的生活和行为习惯。请允许我指出一个显而易见的事实...

842
来自专栏Crossin的编程教室

关于这波 Intel CPU 漏洞,我见过最形象易懂的解释

新年刚到,科技圈就炸了! 2018年1月2日,Intel CPU 被爆出设计漏洞。AMD 和 ARM 芯片也有一定程度的影响。 漏洞带来的影响主要是: 用户级别...

3039
来自专栏云计算D1net

云备份和标准数据中心的备份有所不同

在云计算的环境中,灾难恢复包含了一组新的选项,它们看起来与您在本地系统中拥有的选项大不一样。您最终采取的方法应该与应用程序和数据集对业务价值的大小相匹配。

1000
来自专栏网站设计制作、数字营销

网站突然增加了不相关的链接的可能原因

有时有的公司可能会遇到公司的网站在首页或者内页突然被添加加了不相关的链接,可以肯定不是公司内部人添加的,那么这种无端被添加了不相关的链接的可能原因是什么?下面就...

1343
来自专栏云加头条

腾讯云“开发者实验室”与“DCDB”产品揽获工信部信通院两大年度奖项

11月17日,由高效运维社区主办的GOPS全球运维大会暨第二届中国运维行业年度盛典隆重召开,全球运维大会也是中国首个专属运维行业的盛会,面向互联网及传统行业的广...

1390
来自专栏EAWorld

微服务模式系列之三:API网关

译者自序: 熟悉我的朋友都知道,我很不喜欢翻译东西,因为在两种语言的思维方式之间做频繁切换对我来说是件很痛苦的事情。但是这次不一样,公司和同事的大力支持降低了我...

3014

扫码关注云+社区

领取腾讯云代金券