UML 关系图介绍

UML 存在的意义

      咱们在学习设计模式时总会涉及到类与类之间的关系, 这也会让人感受到很抽象, 为了更好滴了解设计模式中类与类之间的关系(类与接口之间的关系), 这时咱们就用到了 UML.设计模式

UML 的分类

      类与类之间大体分为了四种关系:学习

      ① 泛化关系设计

      ② 实现关系cdn

      ③ 依赖关系blog

      ④ 关联关系继承

一. 泛化关系

      说白了就是继承, 类与类之间的继承, 接口与接口之间的继承:接口

      

二. 实现关系

      类与接口之间的关系, 一个类实现了一个或者多个接口.生命周期

            

三. 依赖关系

      Human 类依赖 Ship 类, 依赖关系是单向的,Ship 的改变会影响到 Human.依赖关系体现为局部变量、方法的形参,或者对静态方法的调用.事件

               

四. 关联关系

      关联关系分类就比较多了, 分为:ip

      ① 单向关联, 双向关联: 关联关系通常使用成员变量来实现.

      ② 聚合关系: 也是关联关系的一种, 是强关联关系.

      ③ 组合关系: 比聚合关系强的关联关系.

① 单向关联, 双向关联

      单向关联和双向关联本质同样, 就以单向关联为例: Person 类有一个属性是 Money 类的, Person 能够获取到 Money 的属性和方法, 属于强依赖关系, 关联关系平等.

      

                     

② 聚合关系

      聚合关系顾名思义, 聚合在一块儿的, 二者之间是总体与个体的关系, 可是能够分离, 各自有各自的生命周期, SDWebImageManager 类包含 SDImageCache 类, 但 SDImageCache 不是 SDWebImageManager 的组成部分.


③ 组合关系

      组合关系和聚合关系有些相似, 不一样的是 SDWebImageWebPCoder 是 SDWebImageCodersManager 的一部分, 生命周期相同, SDWebImageWebPCoder 不能脱离 SDWebImageCodersManager 而存在.

          

      ps: 我的感受关联关系的辨别比较模糊, 须要结合具体事件分析来进行判断.