MD 更新:未知

定义

特定领域软件架构以一个特定问题领域为对象,形成由领域参考模型、参考需求、参考架构等组成的开发基础架构,支持一个特定领域中多个应用的生成

graph LR
A[领域分析 建立领域模型] --> B[领域设计 获得 DSSA]
B --> C[领域实现 开发和组织可复用的信息]
C --逐渐求精--> A

垂直域:某一狭小领域或者某个行业的共性 水平域:多个行业可通用的一些共性

组成

人员任务
领域专家提供关于领域中系统的需求规约和实现知识,复审领域模型,DSSA
领域分析人员控制整个领域分析过程,进行知识获取将获取知识组织到领域模型中等
领域设计人员控制设计过程,开发 DSSA,建立领域模型和 DSSA之间的联系
领域实现人员开发可重用构件,提取构件,建立构件与 DSSA联系

建立过程

flowchart TD
A[领域范围] --> B[定义领域特定元素]
B --> C[定义领域特定的设计和实现需求约束]
C --> D[定义领域模型和架构]
D --> E[生产、收集可复用的资产]
E --递归<br>并发<br>螺旋--> A

领域驱动设计

定义

通过将软件实现与持续进化的领域模型结合来处理复杂业务需求

核心

聚焦核心领域逻辑,强调业务与技术专家建立统一语言,利用分层架构分离业务与技术复杂度

子域类型定义实例
核心域核心竞争力,投入 70% 精力直播,提问
支持域核心必要的支撑考勤,管理
通用域行业通用,可复用登录,通知,支付

限界上下文

定于了一个特定边界,在此边界内,领域模型拥有明确,无歧义的含义

作用

  • 解耦与内聚:将大领域划分成特定上下文,可以独立开发演化
  • 消除歧义:明确定模型的使用范围,确保有统一理解
  • 明确集成关系