设计模式之UML类图
2015-06-29 20:45
337 查看
在学设计模式的过程中经常碰到各式各样的UML类图。那些眼花缭乱的符号有什么含义呢?
依赖关系:比如动物依赖氧气和水,这里如学生要依赖自行车。用虚线箭头表示。
关联关系:学生和身份证是关联关系,候鸟与气候是依赖关系。这里用一根实线表示,也有版本用实线箭头表示。
组合关系:一种强的拥有关系,体现了严格的部分和整体的关系。没有了整体,部分也不存在。比如,如果没有鸟也就没有了翅膀,没有了翅膀,也就不能成为一只完整的鸟。这里比如没有发动机,小汽车就不能行驶,没有小汽车这个整体,发动机也没有用处。也有翻译为合成关系的。用实心菱形和实线表示。
聚合关系:一种弱的拥有关系。体现的是A对象可以包含B对象,但是B对象并不一定是A对象的一部分.比如这里的学生和班级的关系。这里用空心菱形和实线表示。
实现关系:也好理解,现实中这种东西是抽象的,无法直接用来定义对象,只有具体的子类才可以用来定义对象。这里用空心三角形和虚线表示。
继承关系:这个关系最容易理解。比如SUV继承小汽车空心三角形。继承关系用空心三角形和实线表示。
UML类图在设计模式中有非常重要的作用。要学会用类图表示各种设计模式。
类图含义
类图中的关系
从网上找来一张图作为实例依赖关系:比如动物依赖氧气和水,这里如学生要依赖自行车。用虚线箭头表示。
关联关系:学生和身份证是关联关系,候鸟与气候是依赖关系。这里用一根实线表示,也有版本用实线箭头表示。
组合关系:一种强的拥有关系,体现了严格的部分和整体的关系。没有了整体,部分也不存在。比如,如果没有鸟也就没有了翅膀,没有了翅膀,也就不能成为一只完整的鸟。这里比如没有发动机,小汽车就不能行驶,没有小汽车这个整体,发动机也没有用处。也有翻译为合成关系的。用实心菱形和实线表示。
聚合关系:一种弱的拥有关系。体现的是A对象可以包含B对象,但是B对象并不一定是A对象的一部分.比如这里的学生和班级的关系。这里用空心菱形和实线表示。
实现关系:也好理解,现实中这种东西是抽象的,无法直接用来定义对象,只有具体的子类才可以用来定义对象。这里用空心三角形和虚线表示。
继承关系:这个关系最容易理解。比如SUV继承小汽车空心三角形。继承关系用空心三角形和实线表示。
UML类图在设计模式中有非常重要的作用。要学会用类图表示各种设计模式。
画类图的工具
可以用viso画。打开软件点击新建,选择软件和数据库,创建即可。然后进入软件后,有各种形状和结构,拖拽到页面上即可。编辑数据的话,可以右键点击属性,点击类,可以更改名称,点击特性可以增加属性,点击操作,可以增加方法。相关文章推荐
- 如何通过Html网页调用本地安卓app?
- c#中DropDownList控件绑定枚举数据
- 黑马程序员——OC基础学习(三)---从传统setter方法和getter方法到@property增强型使用(体验代码的优化过程)
- Java基础
- LeetCode | Minimum Window Substring
- 汇编与C混合编程(6.19)
- J2EE总结------JMS消息服务
- Regularized Linear Regression with scikit-learn
- 关于uitableviewcell的accessoryType属性
- LeetCode_Linked List_Remove Duplicates from Sorted List II
- 算术移位和逻辑移位
- framework制作
- Bootstrap系列 -- 41. 带表单的导航条
- 剑指offer: 变态跳台阶(循环与递归)
- AnimationCurve
- 公共字符串个数
- XRDP与VNC的关系
- 进阶第21课时,实践,简易银行系统开发第四版
- GNU ARM伪指令
- B\S备忘录19——就说多查查有好处