图说设计模式(1) 六种关系

参考

图说设计模式

概要

本文主要介绍类之间的6种关系,UML类图,时序图

正文

一 类之间六种关系

关系1:泛化关系(generalization)

类的继承结构表现在UML中为, 泛化关系和实现关系(realize)

继承关系可以表示为  .... 是......, (.... is ....), 例如:人是动物,杨树是植物

最终代码中,泛化关系表现为继承非抽象类

关系2:实现关系(realize)

最终代码中,实现关系表现为继承抽象类

关系3:聚合关系(aggregation)

聚合关系用于表示实体对象之间的关系,表示整体由部分构成的语义,

聚合关系中的整体和部分不是强依赖的,即使整体不存在了,部分仍然存在

关系4:组合关系(composition)

组合关系同样表示整体由部分构成的语义,

组合关系是一种强依赖的特殊聚合关系,如果整体不存在了,则部分也不存在了

关系5:关联关系(association)

关联关系描述不同类的对象之间的结构关系,是一种静态关系,通常与运行状态没关系,

一般由常识等因素决定的,一般用于定义对象之间的静态,天然的结构
关联关系是一种强关联的关系

关联关系默认不强调方向,

最终代码中,关联对象通常是以成员变量的形式实现的

关系6:依赖关系(dependency)

依赖关系描述一个对象在运行期间用到另一个对象的关系

是一种临时性的关系,通常在运行期间产生,并且随着运行时的变化,依赖关系可能发生变化

依赖也有方向,双向依赖是一种非常糟糕的结构,

应该始终保持单向依赖,避免双向依赖的产生

最终代码中,依赖关系体现为类构造方法和类方法的传入参数

依赖关系处理临时知道对象外,还是使用对方的方法和属性

你可能感兴趣的:(图说设计模式(1) 六种关系)