markdown+Plant画UML类图

使用Plant+UML进行制作UML图

关于Plant的UML语法和功能

1. 泛化(继承、派生)
@startuml
A<|--B
@enduml

在这里插入图片描述
【箭头形状】:带普通箭头的虚线带空三角箭头的实线,表示B类继承A类
【泛化关系】:泛化是一种继承关系指定子类如何特化父类的所有特征和行为

2. 实现
@startuml
A<|..B
@enduml

http://www.plantuml.com/plantuml/png/SoWkIImgAStDuNAqgT7JS-9oICrB0N81在这里插入图片描述
【箭头形状】:带普通箭头的虚线
【实线关系】:B类实现接口A

3. 关联
@startuml
A-->B
C--D
D-->D
@enduml

markdown+Plant画UML类图_第1张图片
【关联关系】:关联是一种拥有的关系,它使一个类知道另一个类的特征和行为,

  1. 单向关联:A类拥有B类,A类中有B类作为A类的属性
    【箭头形状】:带普通箭头的实线
  2. 双向关联:C类和D类相互拥有对方作为自己的属性
    【箭头形状】:可以用带两个箭头的实线也可以不要箭头
  3. 自身关联:D类拥有自身作为属性
    【箭头形状】:带普通箭头的实线
4. 聚合
@startuml
wheel --o car
@enduml

在这里插入图片描述
【聚合关系】:聚合是部分与整体的关系,部分可以离开整体单独存在
【箭头形状】:带普通箭头的虚线带空三角箭头的实线,表示B类继承A类带空心菱形的实线,菱形指向整体
【代码实现】:Car类中聚合有Wheels
【聚合PK关联】:聚合关系是关联关系的一种,是强的关联关系

5. 组合
@startuml
Department <--* Company
@enduml

markdown+Plant画UML类图_第2张图片
【箭头形状】:带实心菱形的实线
【组合关系】:整体与部分的关系,但部分不能离开整体而存在,随着整体的创建而创建,销毁而销毁,也称强聚合

6. 依赖
@startuml
A <.. B
@enduml

在这里插入图片描述
【箭头形状】:带虚线的箭头指向被使用者
【依赖关系】:依赖是一种使用关系,表示类之间的调用关系,即一个类的实现需要另一个类的协助,所以尽量不适用互相依赖
【代码体现】:如果B类访问A类的属性或方法,或者B类负责实例化A类,那么可以说A类依赖B类(局部变量、方法的参数或者对静态方法的调用)
【依赖PK关联】:和关联关系不同的是无需在B类中定义A类类型的属性

你可能感兴趣的:(markdown,设计模式)