设计模式: 统一建模语言
第一章
- 课程目标
- 统一建模语言
- UML
- 统一建模语言
- 概念
- 通用的可视化建模语言
- 通过一些标准的图形符号和文字对系统进行建模
- 作用
- 对于软件进行描述、可视化处理、构建软件系统的文档
- 视图(View)
- 用户视图
- 以用户的观点来标识系统的目标,它是所有视图的核心
- 描述系统的需求
- 结构视图
- 表示系统的静态行为
- 描述系统的静态元素,如包、类与对象,以及它们之间的关系
- 行为视图
- 表示系统的动态行为
- 描述系统的组成元素如对象在系统运行时的交互关系
- 实现视图
- 表示系统中逻辑元素的分布
- 描述系统中的文件以及它们之间的关系
- 环境视图
- 表示系统中物理元素的分布
- 描述系统中的硬件设备以及它们之间的关系
- 视图关系图
- 用户视图
- 图(Diagram)
- 用例图
- 类图
- ...
- 模型元素(Model)
- 模型元素
- 就是图上面的符号
- 用于描述事物以及事物与事物之间的关系
- 每一个模型元素都要一个阈值相对应的图形元素
- 同一个模型元素可以在不同的UML图中使用
- 模型元素
- 类
- 定义
- 封装了数据和行为
- 是具有相同属性、操作、关系的对象集合的总称
- 一个类可以有多个职责(功能),但设计的好的类通常只有单一职责(功能)
- 类的属性
- 类的数据职责
- 类的操作(类实现的方法)
- 类的行为职责
- 定义
- 类图
- 用来描述不同的类以及它们之间的关系
- UML类图
- 类名
- 类的属性
- 类的操作(其实就是类实现的方法)
- 类之间的关系
- 关联关系
- 表示一类对象与另一类对象之间的关系
- 实线连接
- 通常将一个类的对象作为另外一个类的成员变量
- 单向关联
- 关联关系
- 双向关联(就是两个类互相作为对方的成员属性)
- 自关联(就是自己的成员属性存储了一个自身的对象)
- 多重性关联(就是有2个+的成员变量存储/被存储了)
- 多重表示,通常在直线上使用一个数字/数字范围来表示
- 图例
- 聚合关系
- 表示整体与部分的关系(容器与成员的关系)
- 成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在
- 使用带空心菱形的直线表示
- 图例
- 组合关系
- 聚合关系相同的表示
- 成员是整体的一部分,但是成员对象跟整体对象的生命周期一样,整体对象销毁了,成员对象也会被销毁
- 使用带实心的菱形直线表示
- 因为是在整体(Head)对象中new的对象,销毁了head,就会连带把成员对象都销毁掉
- 依赖关系
- 表示一个事物使用另外一个事物
- 体现在某个类的方法使用另一个累的对象作为参数
- 使用带箭头的虚线
- 依赖的一方指向被依赖的一方
- 三种实现方法
- 泛化关系(继承关系)
- 用于描述父类与子类的关系
- 用带空心三角形的直线表示
- 图例
- 接口与实现关系
- 接口之间也存在继承关系和依赖关系
- 接口与雷志坚存在一种实现的方法
- 使用带空心三角形的虚线表示
- 图例
- 拓展机制
- 注释
- 可以给类图(UML)增加注释
- 注释