UML类图和设计模式
UML类图和设计模式
目录
UML类图
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)
首先上图:
泛化(Generalization)
泛化关系:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。
箭头指向:带三角箭头的实线,箭头指向父类
实现(Realization)
实现关系:是一种类与接口的关系,表示类是接口所有特征和行为的实现。
箭头指向:带三角箭头的虚线,箭头指向接口
关联(Association)
关联关系:是一种拥有的关系,它使一个类知道另一个类的属性和方法;可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。
代码表现:成员变量
箭头指向:带普通箭头的实心线,指向被拥有者指向接口
聚合(Aggregation)
聚合关系:是整体与部分的关系,且部分可以离开整体而单独存在。聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。
代码表现:成员变量。
箭头指向:空心菱形+实线箭头,菱形指向整体
代码组合(Composition)
组合关系:是整体与部分的关系,但部分不能离开整体而单独存在。组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。
代码表现:成员变量。
箭头指向:实心菱形+实线箭头
依赖(Dependency)
依赖关系:是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖。
代码表现:局部变量、方法的参数或者对静态方法的调用。
箭头指向:带箭头的虚线,指向被使用者
各种关系的强弱顺序:泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
设计模式
Adaptor
Decorator
Facade
Strategy
Template
Iterator
Proxy
Observer
Visitor