UML 关系图介绍

UML 存在的意义

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

UML 的分类

      类与类之间大致分为了四种关系:

      ① 泛化关系

      ② 实现关系

      ③ 依赖关系

      ④ 关联关系

一. 泛化关系

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

      

二. 实现关系

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

            

三. 依赖关系

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

               

四. 关联关系

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

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

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

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

① 单向关联, 双向关联

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

      

                     

② 聚合关系

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


③ 组合关系

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

          

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

转载于:https://juejin.im/post/5a433e0df265da433227d884

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值