Android 架构学习之UML建模语言学习总结

UML中关系的说明

依赖关系

1.1. 定义
两个类,依赖类和被依赖类。描述的是当被依赖的类变化时对依赖类的影响
1.2.举例
例如,在某个界面我们需要网络请求,假设用的是Retrofit,该页面为MainActivity,那么MainActivity为依赖类,Retrofit为被依赖类。
依赖关系冠以用带箭头的虚线表示,箭头指向被依赖方
Android 架构学习之UML建模语言学习总结_第1张图片

实现关系

1.1. 定义
简单来说就是我们java中的接口的实现
1.2.举例
例如我们view的点击事件,当view被点击了 我们要马上处理点击事件。我们经常用,这里不在具体说明。
要注意的是实现关系的表示和箭头方向
表示方式为带箭头实线,箭头方向指向接口

泛化关系

1.1. 定义
说白了,泛化关系就是我们java中的继承
1.2.举例
抽象类BaseActivity,实现类MainActivity,那么这连个类就构成了泛化关系
需要注意的是泛化关系的表示和箭头方向
泛化关系用带空三角形箭头的实线表示 方向指向 被实现的类这里就是BaseActivity

单向关联

1.1. 定义
第一点:关联关系其实本质就是依赖关系的特殊情况,关联关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等,关联关系可以是单向或者双向。
第二点:单向关联是关联关系中一个场景。
第三点:单向关联是一对多的情景
1.2.举例
例如:员工和考勤记录之间关系->单向关联场景
1个员工对应多个考勤记录,1个考勤记录对应1个员工。
Android 架构学习之UML建模语言学习总结_第2张图片
表示:带箭头的实线
方向:箭头指向被关联者,这里的被关联者就是考勤记录

双向关联

1.1. 定义
第一点:关联关系其实本质就是依赖关系的特殊情况,关联关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等,关联关系可以是单向或者双向。
第二点:双向关联是关联关系中一个场景。
第三点:单向关联是多对多的情景
1.2.举例
例如:订单和用户之间关系->双向关联场景
一个订单对应多个用户,一个用户对应多个订单。
案例一:团购飞机票,1个飞机票订单可以对应5个用户,1个用户可以购买多张飞机票。
案例二:团购电影票,1个电影票订单可以对应多个用户,1个用户可以购买多张电影票。
Android 架构学习之UML建模语言学习总结_第3张图片
表示:实线无箭头

聚合关联

1.1. 定义
聚合关系是关联关系的特殊场景,它强调整体和局部,整体可以和局部分离,可以各自工作互不干扰,局部强调共享
1.2.举例
电脑和显卡,和其他配件都是聚合关系。
聚合关系使用带空心菱形的实线表示 箭头指向整体,这里数电脑

组合关联

1.1. 定义
整体和部分不可以分离,共享生命周期,整体生命周期结束意味着部分生命周期结束。
1.2.举例
电脑和显卡,和其他配件都是聚合关系。
聚合关系使用带空心菱形的实线表示 箭头指向整体,这里数电脑
表示:带实心菱形的实线,方向指向整体

你可能感兴趣的:(架构师之旅,架构师之旅)