前言
很久很久以前励志写博客,断断续续写了一些。现在又励志写博客,希望能坚持下去,欢迎各位监督。
学设计模式前,我们需要了解UML图。
UML
UML定义
- 统一建模语言(Unifed Modeling Language)缩写UML。
- 非专利的第三代建模和规约语言
UML特点
- UML是一种开发的方法
- 用于说明、可视化、构建和编写一个正在开发的面向对象的、团建密集系统的制品的的开放方法
- UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统在建模方面,特别是在软件架构层面已经被验证有效。
UML2.2的分类
UML2.2中定义了14种图示,分类如下:
- 结构式图形
静态图(类图,对象图,包图)
实现图(组件图,部署图)
剖面图
复合结构图 - 行为式图形
活动图
状态图
用例图 - 交互式图形
UML类图
- class Diagram:用于表示类、接口、实例等之间的相互关系
- 虽然名字叫类图,但类图中不只有类
技巧:
UML箭头方向:从子类指向父类(只有知道对方才能指向对方)
记忆技巧-实现-继承|虚线-实现
空心三角箭头:继承或实现
实线-继承。is a 关系,扩展目的,不虚,很结实
虚线-实现,虚线代表“虚无”实体
记忆技巧-实现-关联|虚线-依赖
- 虚线-依赖关系:临时用一下,若即若离,虚无缥缈,若有若无,表示一种使用关系,一个类需要借助另一个类来实现功能,一般是一个类使用另一个类作为参数使用,或者返回值。
- 实线-关联关系:关系稳定,实打实的关系,表示 一个类对象和另一个类对象有关联,通常是一个类中有另一个类作为属性。
记忆技巧-空心棱形-聚合|实心棱形-组合
- 棱形就是一个盛东西的器皿(例如盘子)
- 聚合代表器皿里可以放很多相同的东西,聚在一起(箭头方向所指的类)
- 组合代表满器皿里已经有实体存在,生死与共。
记忆技巧-空心棱形-聚合
记忆技巧-实心棱形-组合
记忆技巧-空心棱形-聚合
- 整体和局部的关系,两者有着独立的生命周期,是has a的关系
- 弱关系
- 消极的词:弱-空
记忆技巧-实心棱形-组合
- 整体和局部的关系,和聚合的关系相比,关系更加更加强烈,两者具有相同的生命周期,contracts-a的关系
- 强关系
- 积极的词:强-满
常见的数字表达及其含义,假设有A类和B类,数字标记在A类 - 0…1 0或1个实例
- 0…* 0或多个实例
- 1…1 1个实例
- 1 只能有一个实例
- 1…* 至少有一个实例
UML时序图
Sequence Diagram:是显示对象之间关系的图,这些对象是按时间的顺序排序的。
时序图中包含的建模元素有:
对象(Actor)、生命线(LifeLine)、
控制焦点(Focus of control)、消息(Message)等。