共计 1086 个字符,预计需要花费 3 分钟才能阅读完成。
对立术语(策略设计)
咱们将通过 DDD 实现业务与技术的残缺落地
对立
畛域模型术语
DDD 模式名称
技术
技术设计术语
技术术语
技术设计模式
业务
畛域模型术语
DDD 模式名称
业务术语
设计无关的业务术语
清晰的事件流
DDD
畛域驱动设计是一个无关软件开发的方法论,它提出基于畛域开发的开发模式,基于 DDD 实践,咱们能够设计出高质量的软件模型。它围绕业务概念构建畛域模型来管制业务的复杂度,解决软件难以了解和演变的问题。
策略设计(业务)
畛域、子域、限界上下文将畛域拆分成子域,并划分外围子域、撑持子域和通用子域
以子域开展事件风暴,依据上下文语义划分限界上下文,建设通用语言,实现
领域建模领域建模将作为能力核心布局的重要依据
实现能力核心地图和优先级后,作为微服务设计的输出实现战术设计
战术设计(技术)
聚合、聚合根、实体、值对象、畛域服务等
依照畛域模型实现微服务设计和落地
建设聚合、聚合根、实体、值对象、畛域服务等对象之间的依赖关系,以代码对象的模式映射到服务中,采纳分层架构实现微服务设计和落地
事件风暴
一种灵便的研讨会模式,用于合作摸索简单的业务畛域
流动筹备
人:业务人员,领域专家,技术人员,架构师,测试等
看板:能够将事件流可视化的白板或者画图工具等
黑白贴纸:填写事件,命令等
业务场景:规定业务场景,以一个电商我的项目为例
事件风暴流程精简版
畛域对象设计
畛域对象关系
合成聚合,提取该聚合蕴含的畛域对象
畛域对象的业务不变性
畛域对象具备统一的生命周期
例:订单聚合蕴含订单实体,订单行实体订单实体蕴含收货地址值对象
定义实体与值对象
实体:存在唯一性标识,实体间是否相等的判断根据也是惟一标识
值对象:示意属性的不变值
C4 模型
用于可视化软件架构:反映软件架构师和开发人员如何思考和构建软件的形象
Context:各软件系统如何交互,不关注细节
Containers: 能够看到软件系统内部结构,如 U,服务,DB 等如何合作,通信等
Components: 展现容器内的组件关系和组件的职责
Code: 展现组件如何实现,如 UML 类图、实体关系图等,非特地简单组件不倡议关注
架构设计
咱们简略的把架构设计看作是三个层面:
业务架构
依据业务需要设计业务模块及其关系:DDD 的领域建模其实就曾经帮助咱们做了业务架构和零碎架构
零碎架构
设计零碎与子系统的模块及其关系: 在 DDD 中业务架构是能够间接映射到零碎架构上的业务变动会演变为零碎架构变动,影响到技术架构变动
技术架构
依据业务需要设计业务模块及其关系: 技术架构(微服务)则解决子系统之间的解耦,去中心化的服务治理和数据治理
前后拆散
扫码进群,理解更多
MASA Framework 欢送你的退出