文章目录
- 1. 概述
- 1.1 模型
- 1.2 软件设计领域的架构模型
- 2. 领域模型(Domain Model)
- 2.1 概念
- 2.2 示例
- 3. 设计模型(Design Model)
- 3.1 概念
- 3.2 创建过程
- 4. 代码模型
- 4.1 概念
- 4.2 创建过程
- 5. 三种模型的关系
1. 概述
1.1 模型
诠释:通过主观意识借助实体或者虚拟表现,构成客观阐述形态和结构的一种表达目的的事物。
1.2 软件设计领域的架构模型
- 架构模型和模型设计
架构模型
本质是对架构本身的一种描述方式,架构设计
是一个抽象的过程。
- 如何设计模型
当我们面对各种业务需求时,实际上就是把现实世界的具体问题转变成抽象的问题,然后对抽象问题进行分析并提炼出抽象的解决方案。过多的细节需要在抽象过程中被剔除。
2. 领域模型(Domain Model)
2.1 概念
领域
:对现实世界问题的一种统称,即是一个组织的业务开展方式。领域模型的目的
:进行业务建模- 建模过程
通过分析业务场景和构建信息模型的方式展现系统对业务的理解和抽象,实现从现实世界的问题到抽象的问题的转变。
2.2 示例
下图是一种领域模型的表现形式,体现了对项目管理领域中项目(Project)、计划(Plan)和任务(Task)及其相关关系在特定业务场景的抽象结果。
3. 设计模型(Design Model)
3.1 概念
- 设计模型:
- 在明确系统边界的前提下,实现系统内部模块和组件的抽象和构建。
- 设计模型指向领域模型,关注从抽象的问题到抽象的解决方案的转变。
- 设计模型包括:
边界模型
:明确系统边界,抽象系统集成和交互方案,内部模型
:细化边界模型。
3.2 创建过程
- 从领域模型的领域和边界上下文(Boundary Context)出发,
- 划分系统的模块并设计相应的端口与连接器。
4. 代码模型
4.1 概念
代码模型实现现实世界的解决方案
4.2 创建过程
我们可以通过领域模型嵌入代码的方式构建代码模型,也可以通过各种设计模式在代码中表达设计意图。
5. 三种模型的关系
三种模型完成了从现实问题到最终解决方案的演进
- 领域模型:代表领域的固定业务,是客观存在的现实,通常不在控制范围内
- 设计模型:指向领域模型。
- 边界模型关注对接口的承偌
- 内部模型符合边界模型的细节设计
- 代码模型:提供了完整实现设计,是对设计模型的细化。