什么是UML:
UML(统一建模语言)是当今软件设计的标准图标式语言。对于一个软件系统而言,UML语言具有以下的功能:可视化功能、说明功能、建造功能和建文档功能。
UML都包括什么类型的图:
- 使用案例图
- 类图
- 序列图
- 合作图
- 状态图
- 活动图
- 构件图
- 部署图
这些图由归属于两种类型(pdf的图是歪歪的0.0):
针对于这多种多样的图中,我们主要讲解的是跟我们最接近,也最长使用的:类图。
下面我们将介绍类图中的最常用的六种关系:
(图片来自于网络)
首先第一种:
- 泛化关系(相对于java类中,就是继承关系 比如说 A继承了 B 那么对应到图上就就是 A -> B )
2.实现关系(对于java类中,就是实现了某一个接口或者抽象,比如说A实现了B,那么相对应的就是 A---> B)
3. 聚合关系(对于java类中,我理解的应该是属性的概念, 例如下图中,班级中有个属性是学生(虽然有点扯淡0.0),班级是由学生组成的)
4.组合关系(A组成B,或者B由A组成,但组合关系是一种强依赖的特殊聚合关系,如果整体不存在了,则部分也不存在了;例如, 公司不存在了,部门也将不存在了;)
5.关联关系(是用一条直线表示的;它描述不同类的对象之间的结构关系;它是一种静态关系, 通常与运行状态无关,一般由常识等因素决定的;它一般用来定义对象之间静态的、天然的结构; 所以,关联关系是一种“强关联”的关系);
6.依赖关系(依赖关系是用一套带箭头的虚线表示的;如下图表示A依赖于B;他描述一个对象在运行期间会用到另一个对象的关系;)
好,我们先到这里了,具体的情况我写完这篇文章自己好像也没有很清楚,下次自己用到的时候希望可以加深下自己的理解,加油!
参考文档:
https://design-patterns.readthedocs.io/zh_CN/latest/creational_patterns/creational.html
《head First设计模式》
《Java与模式》
原文地址:https://www.cnblogs.com/fengtingxin/p/9895558.html