DDD领域驱动设计落地实践案例分析

  1. 思想:DDD的思想源于2003年Eric Evans编写的“Domain-Driven Design领域驱动设计”1。DDD是一套综合软件系统分析和设计的面向对象建模方法1
  2. 服务器后端发展三个阶段1
    • 面向过程脚本
    • 面向数据库表
    • 面向业务模型:DDD+SOA微服务的事件驱动的CQRS读写分离架构
  3. DDD最大特点:领域模型准确反映了业务语言,而传统微服务数据对象除了简单setter/getter方法外,没有任何业务方法,即失血模型,那么DDD领域模型就是充血模型(业务方法定义在实体对象中)1
  4. 领域模型设计:以渠道中心(一个微服务)作为例子来做领域模型设计,核心就是设计2个图,一个是战略设计图(宏观),一个是战术设计图(细节)1
  5. 技术实现:整体项目框架分层图如下所示1
    • 展现层:controller层。无业务逻辑
    • 应用服务层:此层可以包含查询逻辑,但核心业务逻辑必须下沉到领域层。
    • 领域服务层:业务在这里组装。仓储(资源库)接口在此层定义。
    • 基础设施层:仓储(资源库)实现层+PO持久化层。
  6. 总结:DDD可以尝试,但不建议主流业务硬上。建议浅尝即止1

以上是对DDD领域驱动设计落地实践的一个简单分析,希望对你有所帮助。如果你需要了解更多关于DDD的理论知识,可以参考相关书籍进行学习1