0%

从事件风暴到微服务设计的落地的过程

统一语言建模
事件风暴

持续对代码职责维护

什么时候知道软件变化?
需求改的时候

有哪些对象?对象之间的关系

什么时候代码折分?拆分成类、领域、还是微服务?

领域层:充血模型

需求分析 -> 领域建模 -> 设计编码

原文分析法、事件风暴、四色建模法

架构师需要理解:业务规划、业务流程、业务痛点

统一语言建模

在第一次开发和后续维护的过程中不断的学习和理解业务需求

沟通能力?

沟通不畅的根本原因:语言不通,不同行业专业术语不一样,用客户的语言和他沟通

客户是一个群体,有一些问题对业务了解不多,但是有一些客户对业务很精通,我们需要从客户群体中找到精通业务的人(业务领域专家)

业务架构师需要同需求分析师、产品直接和客户沟通业务需求,理解业务

业务架构师从更宏观的角度理解业务,同时要评估技术可行性,提供可靠的技术方案

需求分析师从更细节的角度理解业务

事件风暴(Event Storming)

头脑风暴,是一个会议,群策群力

  • 会议人员包括:开发人员和领域专家

  • 以完成领域模型为目标,以探讨领域事件开始,从前往后依次梳理,以确保领域中所有事件能覆盖

识别

  • 识别模型中可能的聚合及其聚合根
  • 将模型分配到各个限界上下文中,构建上下文地图

领域事件:即领域中发生的事实(fact)

事实 是指已经发生过的事件,发生在过去,不会发生改变,重要的(需要记录下来的)

事件风暴 关注对象之间的关系,要做什么样的设计

用户故事 关注不同角色的目标,要做什么事

一般事件风暴,再 用户故事

问题域、子域与限界上下文

  • 主题域 核心功能

  • 支撑域