【设计模式】 UML类图与时序图详解

本专栏将从基础开始,循序渐进,由浅入深讲解常见的设计模式,希望大家都能够从中有所收获,也请大家多多支持。
专栏地址:设计模式实战
所有代码地址:代码地址
如果文章知识点有错误的地方,请指正!大家一起学习,一起进步。

1 设计模式常用的UML图

1.1 UML总览

image-20220213195126491

1.2 类图

类图用3个矩形拼接表示,最上面的部分标识类的名称,中间的部分标识类的属性,最下面的部分标识类的方法,抽象类或抽象方法用斜体表示。

image-20220217114507525

1.2.1 继承关系

image-20220217121117369

1.2.2 实现关系

image-20220217121254272

1.2.3 组合关系

组合(Combination)关系表示类之间整体与部分的关系,整体与部分有一致的生存期。一旦整体对象不存在,部分对象也将不存在,整体和部分是同生共死的关系。例如,人由头部和身体组成,两者不可分割,共同存在,其类图如下。

image-20220217121436239

1.2.4 聚合关系

聚合(Aggregate)关系也表示类之间整体与部分的关系,成员对象是整体对象的一部分,但是个体可以存在于多个整体。例如,公交车司机和工作服、工作帽是整体与部分的关系,但是可以分开,没有共同的生命周期,工作服、工作帽可以穿戴在别的司机身上,公交车司机也可以换别人的工作服、工作帽,其类图如下。

image-20220217121805228

1.2.5 关联关系

关联(Association)关系是类与类之间最常用的一种关系,表示一类对象与另一类对象之间有联系。组合、聚合也属于关联关系,只是关联关系的类间关系比其他两种关系要弱。关联关系有4种:双向关联、单向关联、自关联、多重性关联。例如汽车和司机,一辆汽车对应特定的司机,一个司机也可以开多辆车。其类图如下。

image-20220217121941748

在多重性关联关系中,可以直接在关联直线上增加一个数字,表示与之对应的另一个类的对象的个数,具体含义如下表所示。

image-20220217122017029

1.2.6 依赖关系

依赖(Dependency)关系是一种“使用”关系,特定事物的改变有可能会影响到使用该事物的其他事物,当需要表示一个事物使用另一个事物时,使用依赖关系,在大多数情况下,依赖关系体现在某个类的方法使用另一个类的对象作为参数。例如,汽车依赖汽油,如果没有汽油,则汽车将无法行驶,其类图如下。

image-20220217122220955

在这6种类关系中,组合、聚合和关联的代码结构一样,可以从关系的强弱来理解,各类关系从强到弱依次是:继承>实现>组合>聚合>关联>依赖。下面用一张完整的类图,将前面描述的所有类与类之间的关系串联起来。

image-20220213195232430

2 时序图

2.1 时序图总览

image-20220214115756153

image-20220214121337737

2.2 时序图组合片段

2.2.1 抉择

image-20220214121436076

2.2.2 选项

image-20220214121511077

2.2.3 循环

image-20220214121538714

2.2.4 并行

image-20220214121610006

2.2.5 示例

image-20220214121842219

猜你喜欢

转载自blog.csdn.net/Learning_xzj/article/details/125027223