ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

驾驭复杂性:领域驱动设计的核心理论分析

驾驭复杂性:领域驱动设计的核心理论分析 目录一、领域驱动设计两大设计:战略设计和战术设计(一)战略设计1.出发角度与目标2.实现方式:事件风暴与模型确立(用例分析、场景分析和用户旅程分析)3.用三步来划定领域模型和微服务的边界(二)战术设计1.出发角度与目标2.实现方式:DDD 分层架构、整洁架构、CQRS 和六边形架构等 (我们采用DDD 分层架构)3.代码模型强调两点:聚合之间的代码边界一定要清晰+一定要有代码分层的概念二、理解和分析领域+子域+核心域+通用域+支撑域(一)整体理解领域与子域的概念(以桃树生物学知识体系的建立为例来加深理解)(二)理解核心域、通用域和支撑域的划分及具体目的1.核心域2.通用域3.支撑域4.划分核心域、支撑域和通用域的主要目标三、理解和分析界限上下文,定义领域边界(一)通用语言(二)限界上下文四、理解和分析实体和值对象(一)对于实体的具体理解1.实体的业务形态2.实体的代码形态3.实体的运行形态4.实体的数据库形态(二)对于值对象的具体理解1.实体的业务形态2.实体的代码形态3.实体的运行形态4.实体的数据库形态5. 值对象的优势和局限(三)对于实体与值对象关系的理解1.基本的关系理解2.不同场景下关系的不同五、理解和分析聚合思想:聚合和聚合根(一)对聚合的理解和分析(二)对聚合根的理解和分析(三)聚合、聚合根、实体、值对象的对比(四)基本理解综合六、理解很分析领域事件来解耦微服务(一)领域事件的识别(二)微服务内外的领域事件分析1. 微服务内的领域事件2. 微服务之间的领域事件(三)领域事件总体架构1. 事件构建和发布2. 事件数据持久化3. 事件总线 (EventBus)4. 消息中间件5. 事件接收和处理(四)具体案例分析参考书籍、文献和资料干货分享,感谢您的阅读!领域驱动设计DDD是一种设计思想,它可以同时指导中台业务建模和微服务设计(中台本质是业务模型,微服务是业务模型的系统落地),领域驱动设计强调领域模型和微服务设计的一体性,先有领域模型然后才有微服务,而不是脱离领域模型来谈微服务设计。微服务拆分困境产生的根本原因:不知道业务或者微服务的边界到底在什么地方。DDD 核心思想:通过领域驱动设计方法定义领域模型,从而确定业务和应用边界,保证业务模型与代码模型的一致性。对于领域驱动设计的学习做的总结主要写三篇博客,主要包括三部分:基本理论总结与分析、架构分析与代码设计、具体应用设计分析,主要参考的资料为极客时间的欧创新架构师的《DDD》实战,其他参考书籍在文章下方的参考书籍中。本次主要总结DDD基本理论总结与分析一、领域驱动设计
返回列表