博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DDD领域驱动设计 - 设计文档模板
阅读量:6265 次
发布时间:2019-06-22

本文共 735 字,大约阅读时间需要 2 分钟。

设计文档模板:

  1. 系统背景和定位
  2. 业务需求描述
  3. 系统用例图
  4. 关键业务流程图
  5. 领域语言整理,主要是整理领域中的各种术语的定义,名词解释
  6. 领域划分(分析出子域、核心域、支撑域)
  7. 每个子域的领域模型设计(实体、值对象、聚合、领域事件,需要注意的是:领域模型是需要抽象的,要分析业务本质,而不是简单的直接对需求进行建模)
  8. 领域模型详细说明(如为什么这样设计的原因、模型内对象的关系、各种业务规则、数据一致性规则等)
  9. 领域服务、仓储、工厂设计
  10. Saga流程设计
  11. 场景走查(讲述如何通过领域模型、领域服务、仓储、Saga流程等完成系统用例以及关键业务流程的)
  12. 架构设计(如传统三层架构、经典四层架构、CQRS/ES架构)

一些其他的思考:

  • 去除一切花俏的建模技巧,我觉得最重要的方向就是去努力分析问题和事物的本质,针对这个本质进行领域建模。这个领域建模,最主要的还是锻炼的人的事物抽象能力。10个人,建出来的领域模型都不同。本质原因就是大家对同一个问题的理解不同,对事物的本质的理解不同。虽然最终都能解决当前的问题,但是对适应未来需求变化的能力却是不同。
  • 所以,我们要把时间花在多理解业务上,让自己成为领域专家,只有这样,才能充分理解业务。多理解一点业务,你才能更好的抽象出业务本质最后的领域模型。
  • 领域建模是一个迭代的过程,人无完人,时间也很多时候不是很充足。所以,不太可能一步到位把领域设计做的很完美,会有一个持续的过程。整体项目规划的时候可能会有个大的架构设计、业务大图,但是不可能达到领域设计的粒度,只能是一期一期的完善,到最后可能才会有完整的上面的目录内容。每一期都需要考虑支持的场景约束、上下文、系统边界、持续集成的相关设计。设计product, not project。

转载地址:http://yfupa.baihongyu.com/

你可能感兴趣的文章
线程间的协作(2)——生产者与消费者模式
查看>>
实战1:对lager测试来分析Erlang的一些特性
查看>>
input checkbox 复选框大小修改
查看>>
【iOS 开发】初识函数式 Swift 实用
查看>>
Java企业微信开发_Exception_02_java.security.InvalidKeyException: Illegal key size
查看>>
9月4日云栖精选夜读 | 初学者的问题:在神经网络中应使用多少隐藏层/神经元?(附实例)...
查看>>
CentOS 7安装完成后基本配置
查看>>
Android弹窗二则: PopupWindow和AlertDialog
查看>>
Nginx+uWsgi生产部署Django
查看>>
Linux磁盘管理之创建磁盘分区05
查看>>
【星云测试】开发者测试-采用精准测试工具对Spring Boot应用进行测试
查看>>
地图控件省份显示不全问题解决办法?
查看>>
使用Python检测并绕过Web应用程序防火墙
查看>>
C#创建dll类库
查看>>
ES6(Generator)
查看>>
坚持在简书写博客的好处
查看>>
HTML 知识点总结
查看>>
11- vue django restful framework 打造生鲜超市 -用户登录和手机注册(下)
查看>>
玩转Arduino之开篇
查看>>
Java Agent那点事
查看>>