image.png

    • 数据驱动开发模式:
      • 需求分析
      • 数据库表设计
      • 建模建库(写DAO)
      • 编写业务逻辑

    image.png

    • 领域驱动设计模式:
      • 需求分析(统一语言)
      • 领域分析(领域边界划分)
      • 领域建模
      • 核心业务逻辑
      • 技术细节(DB、Cache、Message)

    image.png

    • 领域故事需求分析(用例法):
      • Actors - 故事场景参与者
      • WorkObjects - 参与者与参与者传递的东西
      • Activities - 关系,事件
      • Annotations - 流程解释

    image.png

    • 用例分析:
      • 评估系统有哪些Actors和功能点

    image.png

    • 一个设计例子:把故事,角色,用例串起来

    image.png

    • 需求分析完后,就可以进行领域分析(如上图可定义5个领域边界)
      • 以浏览商品为核心
      • 选择商品支付订单
      • 订单支付与银行交互
      • 支付成功之后的发货仓库管理
      • 仓库管理员把订单给快递并且快递上门

    image.png

    • 边界图,边界与边界的交互。

    image.png

    • 概念理解
      • 聚合根 -> 领域大对象,有多个Entities和Value Object,多个关键点。
      • Entiries -> 有ID,有状态对象
      • Value Object -> 无状态对象
      • Services -> 服务对象(Entities满足不了时,并且操作的是无状态对象时)
      • DomainEvent

    image.png

    • UML图

    image.png

    • COLA框架