设计模式学习笔记之看懂UML类图

什么是UML:

  UML(统一建模语言)是当今软件设计的标准图标式语言。对于一个软件系统而言,UML语言具有以下的功能:可视化功能、说明功能、建造功能和建文档功能。

  UML都包括什么类型的图:

  1. 使用案例图
  2. 类图
  3. 序列图
  4. 合作图
  5. 状态图
  6. 活动图
  7. 构件图
  8. 部署图

这些图由归属于两种类型(pdf的图是歪歪的0.0):

针对于这多种多样的图中,我们主要讲解的是跟我们最接近,也最长使用的:类图。 

下面我们将介绍类图中的最常用的六种关系:

(图片来自于网络)

 首先第一种:

  1. 泛化关系(相对于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与模式》

一个入行不久的Java开发,越学习越感觉知识太多,自身了解太少,只能不断追寻
原文地址:https://www.cnblogs.com/fengtingxin/p/9895558.html