设计模式之UML画图

目录

1、类图

1.1 类之间的关系

1.2 举例

1.2.1 举例1

1.2.2 举例2

2、时序图

3、使用Staruml绘制图

4、参考资料



1、类图

1.1 类之间的关系

       根据类与类之间的耦合度从弱到强排列,UML中的类图有以下几种关系:依赖关系、关联关系、聚合关系、组合关系、泛化关系、实现关系.其中泛化和实现的耦合度相等,是最强的.

继承(泛化)(Generalization

是一种继承关系,子类继承父类的所有行为和属性,
子类可以新增新的功能或者重写父类的功能

实现(Realization

继承抽象类 实现接口

聚合(Aggregation

  1. 是关联关系的一种,属于弱关联关系

2、整体和部分不是强依赖的,即使整体不存在了,部分仍然存在

组合(Composition)

  1. 组合关系是关联关系的一种,属于强关联关系

2、表示整体由部分构成的关系,不同之处在于整体和部分是强依赖关系,如果整体不存在了,部分也不复存在

关联(Association)

  1. 不同的类对象之间的关系,通常不会随着状态的变化而变化,可以理解为被关联者属于关联者的一部分
  2. 类中的对象与对象之间的引用关系
  3. 代码:一个类的对象作为另外一个类的成员变量;用于表示一类对象与另一类对象之间的联系,使一个类知道另一个类的属性和行为.关联关系有单向关联,双向关联,自关联

依赖(Dependency)

  1. 通常描述一个对象在运行期间会用到另一个对象的关系
  2. 当一个对象的构造方法中依赖另一个对象来构造自己的实例时, 或者说一个对象依赖另一个对象提供的服务时, 这就是依赖关系, 一般指的构造方法居多, 比如构造方法的入参就是这个类需要依赖过来实例化的对象
  3. 代码:某个类的方法通过局部变量,方法参数或者对静态方法的调用来访问另一个类(被依赖类)中的某些方法来完成一些任务.

1.2 举例

1.2.1 举例1

1、一个公司中可以有多个部门 —— 非集合类的成员变量(公司亡,部门必亡)

2、一个部门中可以有多个码农 —— 集合类成员变量,如List<码农>(码农可有可无,没了换掉就是了不影响部门的存活)

3、一个码农可以有多个手机 —— 成员变量

4、一个码农依赖多个Mac —— 可以理解为需要Mac来构造自身的电脑实例。

5、Mac是电脑的一种拓展 —— 继承关系

6、电脑是可处理计算机这个概念的一种实现 —— 实现关系

1.2.2 举例2

举例2:

1.2.3 举例3

举例3:

  1. 依赖关系

  1. 关联关系

  1. 聚合关系

  1. 组合关系

  1. 继承(泛化)关系

  1. 实现关系

2、时序图

3、使用Staruml绘制图

4、参考资料

1、[UML] 类图介绍 —— 程序员(灵魂画手)必备画图技能之一_削尖的螺丝刀的博客-CSDN博客_类图

2、[UML] 时序图介绍 —— 程序员(灵魂画手)必备画图技能之一_削尖的螺丝刀的博客-CSDN博客_时序图介绍

3、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值