初识DDD

今天跟随内心的声音,去参加DDD,因为它是今年我们想要尝试的一个点,所以希望借助这一下午的时间对它有更深一步的了解。没有学习的太深入,但有几个点,值得一提:

  • 再完美的架构,也不能解决所有问题,因为我们需要考虑时间的维度。架构一开始都是完美的,但随着时间的推移,就会腐化。我们无法预测和控制业务往哪个方向去走,要在时间维度上去考虑架构持续演进,就是一种进化的思路,我们唯一可以控制的是环境的约束条件,知道如何去伪存真。
  • 领域建模时,一般有两个领域,核心域和支撑域。重点需要关注核心域,因为它是我们的核心竞争力所在。比如,京东的物流系统。
  • 当今时代的“权利转移”,一切由客户说了算。因此,领域建模的核心是找到用户,围绕用户。
  • 领域建模的三个层级:战略设计,战术设计和代码设计。越往前越重要。战略设计包括,用统一语言,各种角色的协作方式。战术设计即实现建模,代码设计,就是代码层面的结构设计。
  • 传统的架构设计,一开始关注在系统架构和代码架构。二者设计好了以后,业务架构是去做适应。而DDD中,一开始是将业务架构和系统架构绑定在一起,然后才是代码架构。一切从业务出发,也就是从用户的需要出发去构建我们的架构。

总结来说,三个关键点:

  • 业务分析的过程,理清用户的诉求,需求的范围,有助于简化模型。
  • 把握核心业务问题,有助于确定需求和模型的边界。
  • 业务全景分析,可以找到合适粒度的服务。

协作对业务领域的分析,自然驱动出上下文地图

  1. 用户访谈,梳理用户目标
  2. 了解当前业务流程
  3. 找出核心业务问题
  4. 勾勒未来业务流程
  5. 识别出子领域
  6. 对子领域,识别核心领域对象
  7. 做出Context Map
  8. 检验功能地图和Context Map是否对应
图片发自简书App
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容