DDD实战课
欧创新
人保高级架构师
立即订阅
4865 人已学习
课程目录
已完结 23 讲
0/2登录后,你可以任选2讲全文学习。
开篇词 (1讲)
开篇词 | 学好了DDD,你能做什么?
免费
基础篇 (5讲)
01 | 领域驱动设计:微服务设计为什么要选择DDD?
02 | 领域、子域、核心域、通用域和支撑域:傻傻分不清?
03 | 限界上下文:定义领域边界的利器
04 | 实体和值对象:从领域模型的基础单元看系统设计
05 | 聚合和聚合根:怎样设计聚合?
进阶篇 (6讲)
06 | 领域事件:解耦微服务的关键
07 | DDD分层架构:有效降低层与层之间的依赖
08 | 微服务架构模型:几种常见模型的对比和分析
09 | 中台:数字转型后到底应该共享什么?
10 | DDD、中台和微服务:它们是如何协作的?
答疑:有关3个典型问题的讲解
实战篇 (10讲)
11 | DDD实践:如何用DDD重构中台业务模型?
12 | 领域建模:如何用事件风暴构建领域模型?
13 | 代码模型(上):如何使用DDD设计微服务代码模型?
14 | 代码模型(下):如何保证领域模型与代码模型的一致性?
15 | 边界:微服务的各种边界在架构演进中的作用?
16 | 视图:如何实现服务和数据在微服务各层的协作?
17 | 从后端到前端:微服务后,前端如何设计?
18 | 知识点串讲:基于DDD的微服务设计实例
19 | 总结(一):微服务设计和拆分要坚持哪些原则?
20 | 总结(二):分布式架构关键设计10问
结束语 (1讲)
结束语 | 所谓高手,就是跨过坑和大海!
DDD实战课
登录|注册

10 | DDD、中台和微服务:它们是如何协作的?

欧创新 2019-11-04
你好,我是欧创新。今天我一起来聊聊 DDD、中台和微服务的关系。
DDD 和微服务来源于西方,而中台诞生于中国的阿里巴巴。DDD 在二十多年前提出后一直默默前行,中台和微服务的理念近几年才出现,提出后就非常火爆。这三者看似风马牛不相及,实则缘分匪浅。中台是抽象出来的业务模型,微服务是业务模型的系统实现,DDD 作为方法论可以同时指导中台业务建模和微服务建设,三者相辅相成,完美结合。
你可能会问:凭什么 DDD 可以指导中台和微服务建设,究竟起到了什么作用呢?
DDD 有两把利器,那就是它的战略设计和战术设计方法。
中台在企业架构上更多偏向业务模型,形成中台的过程实际上也是业务领域不断细分的过程。在这个过程中我们会将同类通用的业务能力进行聚合和业务重构,再根据限界上下文和业务内聚的原则建立领域模型。而 DDD 的战略设计最擅长的就是领域建模。
那在中台完成领域建模后,我们就需要通过微服务来完成系统建设。此时,DDD 的战术设计又恰好可以与微服务的设计完美结合。可以说,中台和微服务正是 DDD 实战的最佳场景。

DDD 的本质

我们先简单回顾一下 DDD 领域、子域、核心域、通用域和支撑域等概念,后面会用到。
在研究和解决业务问题时,DDD 会按照一定的规则将业务领域进行细分,领域细分到一定的程度后,DDD 会将问题范围限定在特定的边界内,并在这个边界内建立领域模型,进而用代码实现该领域模型,解决相应的业务问题。领域可分解为子域,子域可继续分为子子域,一直到你认为适合建立领域模型为止。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《DDD实战课》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(18)

  • 张迪
    对照着图看,感觉中台和微服务没啥区别,感觉中台就是整合了通用微服务

    作者回复: 中台是业务概念,很多同类功能的集合。微服务是这些功能的实现。差异还是挺大的。

    2019-11-05
    2
  • 若水
    老师,我想咨询一下,画领域驱动设计图一般用什么样的工具

    作者回复: 你说的设计图不知道是指哪类设计图。
    DDD似乎还没有什么太好的用于设计的工具,有的话也就是UML之类的工具,很多工具用的也不是特顺手。DDD还缺少一些自动化的代码生成工具以及设计工具,这是它的短板。
    我作图一般用visio,费点劲,但是可以自由发挥。

    2019-11-04
    2
  • 肖大保健
    我们做的跨境物流下单系统,涉及到用户,商品,支付,订单一些服务,用户,商品,支付相当于通用中台,订单这一块我有点矛盾,不知该归于核心还是通用,订单有,数据流的一些扭转,其他服务都是服务于订单,订单有核心的条件,但是从另外一方面讲,用户增删查改,这些操作订单,感觉也是比较通用型的,我该如何划分出核心中台

    作者回复: 订单可能既是通用中台,又是核心中台,个人感觉订单在电商领域偏通用多一些,它就是一个很常见的公共能力中台。其实还是要看企业的战略,订单对电商企业太常见了,应该不会给企业带来太大的核心竞争力吧,除非这种订单模式是跟其它企业不太一样,而这种能力可以给公司带来非常大的优势。划分核心中台要看你的企业核心竞争力是否在这个领域?

    2019-11-16
    1
    1
  • 约书亚
    1.其实还是不太清楚如何区分核心域与通用域,支撑域。特别通用的就肯定不是核心域了是么?
    2.上篇里一直讲中台要“联通核心业务链路”,那映射到DDD,怎么才算是“联通核心域链路”呢?

    作者回复: 中台是企业级的业务建模。DDD主要解决业务建模和微服务设计的问题。联通核心业务链路,需要在前台设计,让所有的业务环节打通。
    划分核心域的主要目的是为了战略投入。很多通用的可能也是核心域。

    2019-11-05
    3
    1
  • 朱振光
    是否中台就对应一个子域?只是看问题的角度不一样,有没有例外?

    作者回复: 首先子域是个相对概念,子域可大可小。你需要将中台和子域的维度对齐,这样才会对应。当然会有例外的情况,我这里说的中台主要是业务中台。现在很多中台的概念,比如技术中台、AI中台等,有些地方可能就不好去做对应了。

    2019-11-05
    1
  • 下一道彩虹
    欧老师,本节讲得比较通透。但图中画的中台_中台1_中台2与核心域_子域的对应关系上。这中台1,中台2.是否可以换一个其它词?感觉全用中台这个词有些牵强了!

    作者回复: 可以改成通用中台或者核心中台,你有什么建议吗?

    2019-11-28
  • miniluo
    之前在传统企业,也涉及了保险,划分和老师的差不多,只不过保险领域没再细分。
    2019-11-08
  • 张迪
    老师做的图真的很赞啊!便于理解文字化的概念

    作者回复: 谢谢😜,每个图都花了很大的心思来构思的。

    2019-11-05
  • 阿玛铭
    欧老师好,我在搞一个DDD代码目录结构规范。大概做法:1. 列出DDD的术语表 2. 规定resources目录和包目录下的结构。3.拿一个子子域作为示例给出完整的目录结构。 这件事工作量比较小,但我觉得比较有必要,不建立可执行的规范后面代码管理必然走向混乱。还有就是我担心有一些考虑不周到的地方,这块有可以提供的一些参考吗?

    作者回复: 后面有一节专门讲代码目录。

    2019-11-05
    2
  • 杨杰
    看图上把用户管理、登陆认证、权限管理分成了三个微服务,那是不是说这三个都要对应独立的数据库?

    作者回复: 是的。里面实体会不一样。

    2019-11-05
  • puff
    后面有根据实例讲事件风暴的课么,老师

    作者回复: 有的。专门一节。

    2019-11-04
  • 密码123456
    有个问题,用ddd构建微服务后,还用三层吗?

    作者回复: 用DDD分层架构啊,四层的。

    2019-11-04
    2
  • 钟民
    感谢老师,收货非常多。希望老师能够搞一个demo,毕竟是实战课程,能落地才是最好的。

    作者回复: 有些公司资料不方便对外哦。等有时间了,搞个小Demo看看哈。

    2019-11-04
    1
  • 陈华应
    公司级别的了解不到,但是部门在做业务中台,有核心域,有通用域,目前正在根据现状对领域进行梳理和拆分,主要目的是把通用功能抽出来共享~
    还是要多结合本篇知识点多想想如果用ddd是如何来分析的~

    作者回复: 第11节很快就来了。

    2019-11-04
  • JSLiuจุ๊บ¹⁸
    我的理解是中台是解决重复造轮的的方法,而DDD是建设中台的一种方法,比如前几期提到的,DDD领域的划分方法很适合解决中台建设中,中台能力的边界划分。现在有一个问题,DDD对需求分析有什么影响?包含那几方面。

    作者回复: 对需求分析还是有些影响的。
    在事件风暴的过程中基本上就大概完成了需求分析的部分内容。在需求分析的文档部分也会有些差异,可能不再是那种长篇大论的需求文档了。一个微服务的需求文档可能是以聚合为单位的面向对象的方式。具体可以结合公司的情况,来慢慢适配。

    2019-11-04
    1
  • FIGNT
    DDD的概念比较抽象,而中台比较具体。我的理解是中台是DDD的具体实践,和微服务直接挂钩。中台的概念和DDD一一对应。中台的概念是从DDD衍生出来的。

    作者回复: 可以这么理解。

    2019-11-04
  • 密码123456
    实战开始了。
    2019-11-04
  • Kian.Lee
    中台的业务模型和 DDD 的领域模型,我个人觉得只是两种设计思想对同一事物的不同描述,两者都是应对复杂软件系统的构建方法论。

    作者回复: 是的。
    据说阿里中台业务建模时,有些采用的就是DDD的设计方法。

    2019-11-04
收起评论
18
返回
顶部