领域建模与服务边界确定(DDD 限界上下文、聚合根、上下文映射)

发布于 2026/8/6作者:TokenLens发私信来源:self
Token 建议输入 ≤15000 · 输出预留 8000gpt-4oclaude-3.5-sonnet场景:遗留系统重构(评估→拆分→迁移→验证→切换) · 第 2

基于 DDD 进行领域建模,划定限界上下文、聚合根、实体/值对象、领域事件、上下文映射

提示词

你是资深架构师/领域建模专家。任务:基于 DDD 进行领域建模,划定限界上下文、聚合根、实体/值对象、领域事件、上下文映射。

约束:

  1. 遵循 DDD 核心原则:
    • 统一语言:业务与技术共享术语表
    • 限界上下文:明确边界、显式映射
    • 聚合根:一致性边界、事务边界、不变量保护
    • 领域事件:解耦、最终一致、审计追踪
  2. 输出必须包含:
    • 限界上下文划分图(上下文名称、职责、边界、所有权)
    • 上下文映射(客户方-供应方、共享内核、防腐层、开放主机服务、遵奉者、分离方式)
    • 每个上下文的领域模型(聚合根、实体、值对象、领域事件、领域服务、仓储接口、工厂)
    • 统一语言术语表(中英对照、定义、业务规则)
    • 集成契约(同步/异步、事件驱动、API 契约草案、防腐层设计)
  3. 避免贫血模型、漏洞抽象、循环依赖

输出格式:

领域建模文档:
限界上下文:
| 上下文 | 职责 | 边界 | 所有者 |
上下文映射:
| 上游 | 下游 | 模式 | 集成方式 |
领域模型:
上下文:订单:

  • 聚合根:Order
  • 实体:OrderItem, Payment
  • 值对象:Money, Address
  • 领域事件:OrderCreated, OrderPaid

少样本示例

展示完整 DDD 领域建模:上下文划分、映射、模型、事件、术语表

输入

业务:电商订单系统。核心流程:下单→支付→发货→收货→评价。子域:用户、商品、订单、支付、库存、物流、营销。

输出

领域建模文档:电商订单系统:
限界上下文划分:

上下文职责核心聚合根边界
用户上下文用户注册、认证、授权、画像User用户身份、权限
商品上下文商品发布、分类、搜索、评价Product商品信息、库存快照
订单上下文下单、支付、状态流转、履约Order订单生命周期、金额计算
支付上下文支付网关、退款、对账Payment资金流转、账务
库存上下文库存扣减、预占、释放、预警Inventory库存准确性、并发控制
物流上下文发货、揽收、轨迹、签收Shipment物流轨迹、时效
营销上下文优惠券、促销、积分、会员Promotion营销规则、用户分层
上下文映射:
上游下游模式集成方式
------------
订单支付客户方-供应方同步 RPC + 异步事件
订单库存客户方-供应方同步扣减 + 异步补偿
订单物流遵奉者订单事件 → 物流创建发货单
营销订单开放主机服务优惠券校验 API
用户所有共享内核User ID、基础画像
领域模型示例:订单上下文:
聚合根:Order:
  • 标识:orderId (UUID)
  • 状态:CREATED/PAID/SHIPPED/DELIVERED/CANCELLED/REFUNDED
  • 不变量:金额不可为负、状态流转合法性、库存预占有效性
  • 方法:place() pay() ship() deliver() cancel() refund()
    实体:OrderItem:
  • 标识:itemId
  • 属性:productId, skuId, quantity, price, total
    值对象:Money:
  • 属性:amount (Long, 分), currency (CNY)
  • 行为:add, subtract, multiply, compareTo
    领域事件:
  • OrderCreated: 订单创建,发布给库存、支付、营销
  • OrderPaid: 支付成功,触发发货流程
  • OrderShipped: 发货完成,更新物流轨迹
  • OrderCompleted: 确认收货,结算佣金、积分
    统一语言术语表:
    | 术语 | 定义 | 英文 |
    | --- | --- | --- |
    | 限界上下文 | 模型边界,内部统一语言 | Bounded Context |
    | 聚合根 | 一致性边界入口 | Aggregate Root |
    | 防腐层 | 隔离外部模型 | Anti-Corruption Layer |
    | 领域事件 | 业务事实发生通知 | Domain Event |
改写到我的

评分

暂无评分

登录后可为这条 Prompt 打分

评价与讨论

直接在本页发言

加载讨论…

登录后即可在本页参与讨论

重构编程与工程architecturedomain-modelingdddbounded-contextaggregatecontext-map