设计模式-UML类图
基本介绍
官方定义
UML - Unified modeling language UML (统一建模语言),是一种用于软件系统分析和设计的语 言工具, 用于帮助软件开发人员进行思考和记录思路的结果
自我理解
一种图像化的语言
UML图:通过不同的图形和符号,来描述软件模型以及各个元素之间的关系
介绍
UML 图分类
-
用例图(use case)
-
静态结构图:类图、对象图、包图、组件图、部署图
-
动态行为图:交互图(时序图与协作图)、状态图、活动图
六大关系
依赖关系
是一种使用关系,一个类的实现,需要另一个类的协助,逻辑上 use a 表示
只要在类中使用到了对方,是依赖关系,是一种最基本的关系
其他的五种关系,都是依赖关系的特例
代码体现
- 类中使用到了对方
- 类的成员属性
- 方法的接受的参数类型
- 方法的返回值类型
- 方法内部使用到了
UML图示
UML符号:一条虚线加箭头的形式
泛化关系
泛化关系指的就是继承关系
UML图示
UML符号:一条实线加三角箭头,箭头要指向父类
实现关系
实现关系实际上 A类实现了B接口,A,B存在实现关系
UML图示
UML符号:一条虚线加三角箭头 箭头方向指向接口
关联关系
- 关联关系体现的是业务逻辑上的关系
- 关联关系具有导航性:单向关联,双向关联 (代码层面上)
- 关联关系还具有多重性:一对一,一对多,多对多 (业务逻辑上)
UML图示
UML符号:
-
单向关联 一条实线加一个箭头
-
双向关联 一条实线 (一条实线加两个箭头)
聚合关系
聚合关系,是关联关系的一个特例
具有导航性 具有多重性
聚合关系描述的是业务逻辑上整体和部分的关系 整体和部分如果可以分开就构成聚合关系
UML图示
UML符号: 一条实线加上空心菱形来表示聚合关系
组合关系
组合关系,是关联关系的一个特例
具有导航性 具有多重性
组合关系描述的是业务逻辑上整体和部分的关系 整体和部分如果可以不分开就构成组合关系
UML图示
UML符号: 一条实线加上实心菱形来表示组合关系