PlantUML——类图(持续更新)

前言

在分析代码流程中,我们常常会使用到各种UML图,例如用例图、时序图和类图等,以往使用ProcessOn或亿图图示等工具,但是这些工具难以规范化,有没有一种用代码来生成图形的工具呢?

刚好在出差的晨会中机缘巧合下认识了PlantUML,这不赶快学习一波。该博文用于记录自己的常用项,用于快速生成UNL图形。
plantuml官网

类元素

接口

用关键字interface来定义接口。

UML 复制代码
@startuml
interface List
@enduml

抽象类

用关键字abstractabstract class来定义抽象类。抽象类用斜体显示。

UML 复制代码
@startuml
abstract class AbstractList
abstract AbstractCollection
@enduml

枚举

enum来定义枚举。

UML 复制代码
@startuml
enum TimeUnit {
  DAYS
  HOURS
  MINUTES
}
@enduml

访问控制

针对属性和方法的可访问性控制。属性是空心的,方法是实心的。

可访问性 字符 图标(属性) 图标(方法)
public +
protected #
private -

属性和成员函数

UML 复制代码
@startuml
class Dummy {
 +int field0;
 #string field1;
 -double field2;
 
 +void method0();
 #double method1();
 -char method2();
}
@enduml

类关系

关系的强弱:泛化>实现>组合>聚合>关联>依赖。

关系 符号 展示
泛化 <|-
实现 <|.
组合 *-
聚合 o-
关联 <-
依赖 <.

箭头方向

--..代表垂直方向;-.代表水平方向。或者在--..之前使用leftrightupdown来指定方向。

注释

'开头的行为注释。

UML 复制代码
'https://plantuml.com/sequence-diagram

后记

随着对复杂问题的处理,结合图形能做到事半功倍的效果。可笑的是在上学期间对这些敬而远之,而如今缺仿佛如获至宝。果然个人的局限性以及教育的滞后性会让人感慨万分。

相关推荐
rolt6 天前
二十四年前在UMLChina谈本体论-James Odell
产品经理·架构师·uml·本体论·palantir
我爱cope8 天前
【从0开始学设计模式-1| 设计模式简介、UML图】
设计模式·uml
rolt13 天前
DDD岁月史书之二:分层架构是DDD提出的吗
架构·产品经理·uml·领域驱动设计
Warren2Lynch21 天前
C4 vs UML:从入门到结合使用的完整指南(含 Visual Paradigm AI 实操)
人工智能·机器学习·uml
Minilinux201824 天前
工具使用系列之 PlantUML画UML时序图
uml·plantuml·统一建模语言·sequence·时序图
小湘西24 天前
UML 用例图图中包含和扩展区别
uml·设计规范·设计语言
明洞日记24 天前
【图解软考八股034】深入解析 UML:识别标准建模图示
c++·软件工程·软考·uml·面向对象·架构设计
奋斗的小方1 个月前
01 一文读懂UML类图:核心概念与关系详解
java·uml
钝挫力PROGRAMER1 个月前
UML构造块中的关系梳理
软件工程·uml
未来之窗软件服务1 个月前
计算机等级考试—UML 核心图分类与图标对照表—东方仙盟练气期
uml·计算机软考·仙盟创梦ide·东方仙盟