系统设计
约 952 字大约 3 分钟
DDD
1.战略设计 (Strategic Design):宏观层面,用于理解和划分业务领域,定义团队协作的边界。
2.战术设计 (Tactical Design):微观层面,用于在代码中具体实现业务模型。
限界上下文
重要性
限界上下文(Bounded Context)是领域驱动设计(DDD)中的一个核心概念,它定义了一个 功能边界 ,在这个边界内,使用相同的 统一语言 、 模型 、 技术实现 。每个限界上下文都有自己的 事件流 、 聚合根 、 服务边界 等,不同限界上下文之间通过 事件 进行通信。
统一语言
重要性
在领域驱动设计(DDD)中, 统一语言 (Ubiquitous Language)是连接业务领域与技术实现的核心桥梁。它指的是团队成员(包括业务专家、开发人员、测试人员等)在描述业务规则、领域模型和系统行为时使用的 一致术语表 。这种语言既用于口头沟通,也直接体现在代码和文档中。
实践建议
- 在事件风暴(Event Storming)中共同构建 :业务专家和技术团队一起梳理领域概念,形成术语表
- 将语言嵌入代码 :类名、方法名、变量名直接使用统一语言术语
- 维护术语词典 :在项目文档中保留权威术语定义,并定期更新
- 代码评审关注语言一致性 :将术语使用正确性纳入代码质量检查标准
核心词汇表
| 所属领域 | 术语 | 定义 | 备注 |
|---|---|---|---|
| 用户领域 | 用户 | 使用平台服务的个人或企业 | 分为个人用户和企业用户 |
| 合规与KYC领域 | KYC认证 | 了解你的客户,用于验证用户身份的合规流程 | 根据监管要求必须完成 |
| 收银台领域 | 收银台 | 提供给商户的支付接入界面 | 支持多种支付方式 |
| 交易支付领域 | 交易 | 用户发起的资金转移请求 | 包含创建、支付、完成、失败等状态 |
| 支付渠道 | 实际处理支付的第三方支付服务 | 如支付宝、微信支付、银行卡等 | |
| 账户领域 | 账户 | 记录用户资金信息的载体 | 包含余额、冻结金额等信息 |
| 清结算领域 | 清算 | 计算交易各方应收应付款项的过程 | 通常按日或实时进行 |
| 结算 | 将清算结果实际划转到对应账户的过程 | 受结算周期影响 | |
| 风控领域 | 风控规则 | 用于识别和防范交易风险的策略 | 包含反欺诈、反洗钱规则 |
| 商户领域 | 商户 | 提供商品或服务并接入平台的企业 | 需要审核资质后入驻 |