开发者社区> 超努力的写代码> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

DDD的模式与实践案例(3)

简介: DDD的模式与实践案例(3)
+关注继续查看

限界笔纸法来源于TW的资深大佬,其本质上是对四色建模法的一种升级,将建模过程用纸和笔记录下来,形成表格。然后从这些表格实例中抽取实体和值对象,确定这些实体和值对象的聚合关系。


image.png


image.png


image.png


上图是CQRS架构的一个典型架构图,其核心就是将读和写进行分离,同时对写按命令场景去区分,


对读进行统一抽象。


但是很多情况下这个架构并不是我们首选的一种方式,后面会讲到。



在我看来洋葱架构很好的表达了DDD在不同架构风格的位置,说白了DDD所要表达的内容就是核,将需求建模成一个核,底层的技术组件和上层的用户接口以及测试用例都是围绕核来建设的。上图是洋葱架构的一种形式,另外一种形式就是基础设施作为核心,将Object Model和Service融入到核心的外层。


在洋葱架构中其要表达的核心思想就是,外层调用只能调用内层,不允许进行跨层调用。


image.png


COLA架构是我很早就接触过的一种架构思想,当时还在2.0阶段,我刚一看到也是一脸不屑,以为跟网易的COLA有啥关系,后来经过详细了解和揣摩之后发现这个架构的兼容性和扩展性以及适配性都比较好。当然这个图也很好的融合了整洁架构,适配器架构和洋葱架构的特点。


image.png


很多时候一个大型项目其实不止一种架构风格,比如DDD的分层架构和上述的COLA架构,这里其实可以将DDD的分层架构与CQRS架构进行融合,首先看写调用,调用流程正常走分层架构模式,中间加了一个cmd命令模型,exe执行器模块进行业务逻辑串联,读调用就可以单独走服务接口,正好与读写分离是相通的。



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
代理模式实例订单系统
代理模式实例订单系统
6 0
代理模式和装饰器模式的区别
让别人帮助你做你并不关心的事情,叫代理模式,样例:透过Spring AOP来深入理解代理模式 为让自己的能力增强,使得增强后的自己能够使用更多的方法,拓展在自己基础之上的功能的,叫装饰器模式,样例:装饰器模式(Java)
10 0
【设计模式】行为型模式-第 3 章第 1 讲【责任链模式】
【设计模式】行为型模式-第 3 章第 1 讲【责任链模式】
12 0
设计模式(3)
设计模式(3)
18 0
装饰器模式与代理模式
装饰器模式与代理模式
21 0
适配器模式与桥接模式(3)
适配器模式与桥接模式(3)
32 0
模式实例之——装饰实例
场景:游戏修改器   描述:角色的级别太低,技能也弱,但关卡难度太大。往往一上来来不及回血,或游戏设定回血太慢。这里用游戏修改器。   (一)角色 public abstract class Role     {         public string Name { get; se...
398 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
协同编辑原理与实践
立即下载
阿里高级开发工程师红文:领域驱动设计实战--如何应对复杂业务
立即下载
Top20低代码实践案例
立即下载