学习课程名称:DDD(领域驱动模型)思想解读及落地指南
章节名称:第二章 战略设计(2-1,2-2,2-3)
讲师姓名:尤达_技术咖啡
课程内容:
2-1、智慧零售案例项目介绍
1.SmartRM系统连接了用户、零售业务运营人员和企业的内部系统
(1)向用户提供交易系统,完成购物
(2)向运营人员提供商品的选品,完成运营利益最大化
(3)链接客户的内部系统,利用客户的现有系统和流程
2.团队背景:假设我们是一个Saas公司,主要面向零售企业客户
3.客户背景:零售行业某头部上架,有成熟的内部系统和供应链
2-2、建模和设计的整体流程
1.建模和设计就是将领域知识转换成代码的过程,整个过程分为4步
(1)挖掘用户故事
(2)建立通用语言
(3)进行战略设计
(4)进行战术设计
4个过程并不是上一个阶段结束,下一个阶段开始,而是重叠进行,在很多环节形成建模涡流
2.建模过程需要的参与人员:领域专家、产品团队、研发团队
3.什么是用户故事?
用户故事是对问题空间的描述:由谁来做什么事,出于什么原因
形成文字描述
这个过程是由整个团队共同参与进来进行讨论,在这个过程中,作为研发人员没有必要让产品提供完整的产品方案,产品也很难提供出完整的产品方案,好的产品一定是经过整个团队充分讨论,并不断打磨产生的。当然讨论的最终结论还是需要由产品维护成最终文档。
用户故事更多的是对问题的描述,而非解决方案,所以不必进入细节。
4.通用语言
在讨论模型和定义模型时,团队使用的同一种语言
为什么需要?领域知识需要在团队内部高效流转,模型需要描述,并且领域专家需要看懂模型并能进行反馈
通用语言要体现在代码中
5.战略设计
战略设计主要做3件事情
(1)领域划分
(2)寻找限界上下文(BC)
(3)确定上下文映射,即界限上下文之间关系
6.战术设计
7.建模方法
(1)Domain Stroytelling(领域故事陈述法)
(2)Event Storming(事件风暴法)
(3)4C(四色建模法)
2-2、如何描述模型?从用户故事到通用语言
1.Domain Stroytelling在线工具(https://www.wps.de/modeler/)
2.使用Domain Stroytelling输出用户故事
学习心得:
每次进行产品方案评审的时候,自己之前的观点是产品需要提供完整的产品方案,而不是提供一个没有考虑清楚的产品方案,学了用户故事这一点之后,意识到产品方案的形成过程是产品经理主导,大家集思广益的过程,这一点的思维转变我觉得挺重要的。