27 | 领域驱动设计:如何从零开始设计一个软件?
- 深入了解
- 翻译
- 解释
- 总结
领域驱动设计(DDD)是一种新的软件设计方法,通过使用通用语言,让业务人员加入到设计过程中,拉近了业务人员与开发人员之间的距离,打破了组织的藩篱。DDD的核心概念包括通用语言和模型驱动的设计。通用语言是在业务人员和开发人员之间建立的一套共有的语言,填平了二者之间的鸿沟。事件风暴是一种更正式的实践,通过识别领域事件、命令和实体/聚合,帮助团队建立通用语言。DDD的实践过程中,让不同角色的参与其中,让知识在所有人的头脑中进行构建,得到一个大家都认同的结果。DDD的应用能够有效地解决业务软件开发中遇到的大部分问题,对于复杂的软件系统设计具有重要意义。模型驱动设计是DDD的重要组成部分,分为战略设计和战术设计。战略设计是高层设计,将系统拆分成不同的领域,而战术设计是低层设计,考虑如何具体地组织不同的业务模型。通过DDD,建立一套业务人员和开发人员共享的通用语言是至关重要的。
《软件设计之美》,新⼈⾸单¥59
全部留言(21)
- 最新
- 精选
- 沧浪之水如果把写代码比作搬砖的话,那么学习代码设计,无疑就是去蓝翔学了个挖掘机,效率大大提升。至于现在很多程序员追求的各种面试造的火箭,更像是一种企业管理知识,对于大部分搬砖的人,提升意义不大。
作者回复: 这个比喻实在是太有特色了😂
2020-08-12319 - jg4igianshu实体:在时间上有连续性,并且有唯一标识可以来区分的对象,具有生命周期和行为。 值对象:用来描述事物的,不区分谁是谁的,不可变的对象,不具有生命周期和行为。
作者回复: 学会抢答了😄
2020-07-3116 - 桃子-夏勇杰郑老师,说了实话,《领域驱动设计》这本书一般人真是读不下去,应该耽误了不少人学习DDD。但是说实话,DDD真是太难学了,能把DDD在公司里运用起来,特别是战略设计,几乎就是一个组织变革,需要有同时能够影响业务合作又能引导事件风暴这个高难度的工作坊的人才。虽然像TW这样的公司已经在努力推广这种设计方法了,极客时间也开了《DDD实战课》,但是,离很多公司离这个设计方法还是很远的。DDD之后如何发展,郑老师怎么看?
作者回复: DDD其实不是难,而是概念多,缺乏一个结构理解它。另外,很多人欠缺的不是DDD,而是设计的基础知识。这就是我在做的尝试,先铺垫设计的基础知识,然后,再讲DDD,用一个结构化的方式帮你把DDD串起来。 真正的难点是结合实际工作,把DDD完整地走一遍,看到代码就理解了。 退一步,可以去看《实现领域驱动设计》的源码。
2020-08-01310 - 阳仔总结一下 理解DDD就要理解通用语言和模型驱动设计。 通用语言就是要把业务人员和开发人员对具体业务概念和逻辑的理解达成一致,可使用事件风暴和彩色建模等方法建立通用语言 模型驱动设计可以从战略设计和战术设计两方面入手,战略设计属于高层设计,将系统安装领域拆分;战术设计属于低层设计,考虑的是如何组合业务模型
作者回复: 总结得好!
2020-07-297 - 蓝士钦领域驱动设计可以和传统的面向数据库设计的方式结合吗,比如引入一个model模块用来聚合模型
作者回复: 先按照一个思路走,否则,你会回到老路上去的。
2020-07-2926 - Jxin1.各自阐述理解。 2.消除分歧。 3.达成共识。
作者回复: 总结得好。
2020-07-2925 - 人间四月天领域事件风暴,使用的是事件,动作,实体,建立基本业务模型,我认为这是时序图,状态图的另外一种表达,战略设计,很像业务架构设计,按照领域职责去划分。 建立一个好的平台,需要做好职责划分,配置团队,要不就是无尽的折磨。
作者回复: 这个理解的角度是在新事物和已有知识建立起连接的角度,很有趣。
2020-07-3023 - 加加林想请问一下,与业务人员交流,在互联网行业,传统的方式有文档以及用axure 高保真原型的方式向前后端开发人员甚至设计师展示产品的最终形态,尽量做到无遗漏无重复,怎么看待这种开发方式,或者说,互联网行业,与把传统行业信息化过程中的领域驱动设计的关系,和使用场景?
作者回复: 这实际上需求层面,把需求澄清清楚,还不到软件设计。
2021-04-112 - giteebravo老师,再推荐一些建立通用语言和设计领域模型的方法和工具吧。
作者回复: 难道已经有了这么多,还不够吗?精通一样工具,就已经很厉害了。
2020-08-1422 - 花落菩提领域驱动设计学起来比较难,真正将DDD落地的公司比较少,第一个是相关概念比较多,比较偏理论,可以参考借鉴的真实案例和代码相对较少,很多网上的案例介绍得都不够深入,代码也比较少。第二是需要业务、产品、研发配合去实践。 老师有没有推荐的DDD方面的案例,介绍得比较详细深入的,也有对应的代码可以参考学习的DDD的案例呢。
作者回复: DDD也是有专栏的,可以看看
2021-05-271