前言:
本文有参考此文:http://plantuml.com/zh/class-diagram
PlantUML是一个用代码构图的工具(如关系图,时序图,组件图,类图等)本文着重其在类图中的应用
如果你可以熟练PlantUML的构图语法,工作效率不会亚于拖拽式绘图软件,并且易于拓展性是其最大的亮点
有关在IDEA中安装PlantUML方法可参考:https://www.jianshu.com/p/6c4071eac339
类图构建:
1.描述类:
常用定义类的关键字与java代码中的类似如***:使用 scale 750 width 或 scale 150 height可调整画布的大小)
- class 类
- interface 接口
- enum 枚举
- abstract or abstract class 抽象类
- annotation 注解
- 也可使用class Ball <<(M,#FF7700) 这是我自己定义的>>语法来自定义标记
如果需表述类中的详细结构,则可如下定义:(注意:1.成员之间可以使用--..==符号来做分割线。2.泛型可表示为class Ball<T> )
以下符号可以是指成员的访问权限:(默认以icon显示权限符号,使用skinparam classAttributeIconSize 0可将权限符号变为Character)
2.类之间的关系表示:
粗分有三大类关系:
详细表示如下(线段之间的符号和象形,方便记忆):
注意:如果在一开始就定义两个非类关系符号,可能还出现错误
还可以在关系线上添加一些表示文字及符号:(注意:create >之间要有一个空格)
3.标签和注释的添加
演示如****意:如果标签只定义而暂时为赋给任何一个对象,标签内容必须加双引号,并且使用as赋值)
另外还可以使用一些html的标签来丰富注释的格式,常用的标签如下:
- <b> 加粗
- <u> 下划线
- <i> 斜体
- <s> 删除线
- <color=#990000> or <font color=red> 设置字体颜色
- <size:20> 设置字体大小
- <img src="FilePath"> 试着一张图片
演示如下:
4.定义包结构
5.布局
有时候你会发现plantUML的布局真的一眼难尽,此时可以使用together关键字进行分类布局,如下示例:
END:如有疏漏,请多包涵,评论下方可留言提出