DDD(领域驱动设计)系列主题:DDD, TOGAF的介绍和它们之前的关系
DDD是什么?
Evans DDD
2004年Eric Evans 发表Domain-Driven Design –Tackling Complexity in the Heart of Software (领域驱动设计 )简称Evans DDD
领域建模是一种艺术的技术,它是用来解决复杂软件快速应付变化的解决之道

DDD定义
DDD是一种设计思想,它是基于事件风暴,使用通用语言,对业务进行领域建模,通过限界上下文对业务进行合理的领域拆分,使得领域模型更好地转向微服务和落地,从而解决复杂系统难以理解,难以演进,也可以解决服务业务界限难以界定的问题。
DDD由战略设计和战术设计两部分组成
战略设计:建立领域模型,划分服务边界,建立通用的限界上下文
战术设计:侧重于领域模型的实现,从领域模型转向微服务的设计和落地
DDD 的核心知识体系,具体包括:领域、子域、核心域、通用域、支撑域、限界上下文、实体、值对象、聚合和聚合根等概念。
以下是DDD战略设计和战术设计分析流程,及其相关的关键步骤,及每个步骤需要的输入,分析方法,输出的关键成果物。

TOGAF是什么?
TOGAF 即 The Open Group Architecture Framework (开放组体系结构框架),是由致力于技术标准制定和推广的非盈利组织 The Open Group 制定的用于开发企业架构(Enterprise Architecture)的一套方法和工具。
TOGAF标准是The Open Group标准之一,企业架构标准,TOGAF为标准、方法论和企业架构专业人士之间的沟通提供一致性保障。
TOGAF范围
TOGAF架构开发方法(ADM):ADM是一个可靠的,行之有效的方法,以发展能够满足商务需求的企业架构,它是TOGAF的关键。

TOGAF架构内容框架:提供了一个详细的架构工件模型,包括交付物、交付物的工件和架构构建块


TOGAF参考模型:提供了两个参考模型,Technical Reference Model (TRM) 和Integrated Information Infrastructure Model (III-RM)

ADM指引和技术:提供应用ADM的一些指导(迭代、安全等)和技术(定义原则、业务场景、差距分析、迁移计划、风险管理等)



企业连续统一体:EA 专业人员和涉众的资源库,例如,模型、解决方案模式,和其他可以在企业架构实现和裁减过程中用作构建块的资产。

TOGAF能力框架:一套资源、指导、模板、背景信息等等,帮助在组织中进行架构实践

它们之前的关系
下面用一张表格来说明一下它们的关系, 方便你理解和类比学习
| 编号 | DDD | DDD补充说明 | 举例 | TOGAF | 举例 |
| 1 |
领域 |
电商领域 |
整个大的系统边界或者多个系统的边界, 定义了系统范围 |
电商 |
|
| 2 |
问题域 |
下单问题,支付问题,商品问题,物流问题, 用户问题,库存问题 |
要解决的业务需求问题 |
下单的需求 |
|
| 3 |
子域 |
商品,订单,支付,库存 |
这个业务需求有哪些大的功能模块 |
商品功能,订单功能,支付功能,库存功能 |
|
| 4 |
核心子域 |
业务的核心, 主要竞争力 |
商品,订单,支付,库存 |
核心功能 |
商品功能,订单功能,支付功能,库存功能 |
| 5 |
支撑子域 |
支撑核心 |
物流 |
支撑功能 |
物流功能 |
| 6 |
通用子域 |
业务系统的公用部分 |
用户 |
通用功能 |
用户功能 |
| 7 | 限界上下文 |
一个限界上下文中有多个领域对象,将哪些放在一起还是单独放 |
比如商品+库存 构成商品上下文, 或者单独商品上下文, 单独库存上下文 |
实现层面的应用, 系统, 服务, 要划分哪些功能放到一个系统中实现 |
比如商品+库存 构成商品服务, 或者单独商品服务, 单独库存服务 |
| 8 |
领域对象(Domain Object Model) |
就是领域模型,子域决定领域对象, 实体, 值对象,聚合,事件,服务 |
实体: 商品,sku 聚合根: 商品 服务: 购买商品,查看商品sku 事件:减少商品库存事件,商品库存已减少事件 |
对数据对象的增删改查 |
实体: 商品实体, sku实体, 库存实体 操作: 商品增删改查, sku增删改刹 |

浙公网安备 33010602011771号