组件图
组件图:组件图是 UML(统一建模语言)中的一种结构图,用于可视化系统组件的组织和关系。这些图有助于将复杂的系统分解成易于管理的组件,展示它们之间的相互依存关系,确保高效的系统设计和架构。 PlantUML 的优势:- 简单:使用 PlantUML,您可以使用简单直观的文本描述来创建组件图,无需使用复杂的绘图工具。
- 集成:PlantUML 可* 与各种工具和平台无缝集成,是开发人员和建筑师的多功能选择。
- 协作:PlantUML 论坛为用户提供了一个讨论、分享和寻求图表帮助的平台,从而培养了一个协作社区。
组件
组件必须用中括号括起来。
还可以使用关键字component定义一个组件。
并且可以用关键字as给组件定义一个别名。
这个别名可以在稍后定义关系的时候使用。
|
🎉 Copied!
|
|
命名例外
注意,以$ 开头的组件名以后不能隐藏或删除,因为hide 和remove 命令会将该名称视为$tag ,而不是组件名。要删除此类组件,必须为其添加别名或标记。
|
🎉 Copied!
|
|
接口
接口可以使用()来定义(因为这个看起来像个圆)。
还可以使用关键字interface关键字来定义接口。
并且还可以使用关键字as定义一个别名。
这个别名可以在稍后定义关系的时候使用。
我们稍后可以看到,接口的定义是可选的。
|
🎉 Copied!
|
|
基础示例
各元素之间可以使用虚线(..)、直线(--)、箭头(-->)的组合进行连接。
|
🎉 Copied!
|
|
使用注释
你可以使用
note left of , note right of ,
note top of , note bottom of
等关键字定义相对于对象位置的注释。
也可以使用关键字note单独定义注释,然后使用虚线(..)将其连接到其他对象。
|
🎉 Copied!
|
|
WARNING
This translation need to be updated. WARNING
组合组件
你可以使用多个关键字将组件和接口组合在一起。
packagenodefolderframeclouddatabase
|
🎉 Copied!
|
|
改变箭头方向
默认情况下,对象之间用--连接,并且连接是竖直的。不过可以使用一个横线或者点设置水平方向的连接,就行这样:
|
🎉 Copied!
|
|
也可以使用反向连接:
|
🎉 Copied!
|
|
还可以使用关键字
left, right, up
or down改变箭头方向。
|
🎉 Copied!
|
|
允许使用方向单词的首字母或者前两个字母表示方向(例如
-d-, -do-, -down-都是等价的)。
请不要乱用这些功能:Graphviz(PlantUML的后端引擎)不喜欢这个样子。
_See also 'Change diagram orientation' on [Deployment diagram](deployment-diagram) page._
使用 UML2 标记
By default (from v1.2020.13-14), UML2 notation is used.
|
🎉 Copied!
|
|
使用UML1标记符
命令skinparam componentStyle uml1 可以切换到UML1标记符。
|
🎉 Copied!
|
|
使用矩形符号(去除 UML 符号)
skinparam componentStyle rectangle 命令用来切换到矩形符号 (没有任何 UML 符号).
|
🎉 Copied!
|
|
长描述
可以用方括号"[ ]"在多行添加描述。
|
🎉 Copied!
|
|
不同的颜色表示
你可以在声明一个组件的后面加上颜色的声明。
|
🎉 Copied!
|
|
在定型组件中使用精灵图
你可以在定型组件中使用精灵图(sprite)。
|
🎉 Copied!
|
|
显示参数
你可以使用skinparam命令来改变绘图的字体和颜色。
你可以在下列场景中使用该命令:
你可以为构造型组件和接口定义特定的颜色和字体。
|
🎉 Copied!
|
|
|
🎉 Copied!
|
|
特定皮肤参数
组件样式
- 默认情况下(或使用
skinparam componentStyle uml2),组件有一个图标。
|
🎉 Copied!
|
|
- 如果您想取消它,只使用矩形图标,可以使用
skinparam componentStyle rectangle
|
🎉 Copied!
|
|
[参考文献10798]
隐藏或删除未链接的组件
默认情况下,所有的组件都显示出来:
|
🎉 Copied!
|
|
但你可以:
hide @unlinked组件:
|
🎉 Copied!
|
|
- 或
remove @unlinked组件:
|
🎉 Copied!
|
|
[参考QA-11052]
隐藏、删除或恢复被标记的组件或通配符
你可以在组件中添加 $tags (使用 $ 符号) , 然后单独或者按照标记删除、隐藏或者还原组件.
默认情况下,所有的组件都会显示:
|
🎉 Copied!
|
|
但是你可以:
hide $tag13以隐藏组件组件:
|
🎉 Copied!
|
|
- 或者
remove $tag13以移除组件:
|
🎉 Copied!
|
|
- 或者
remove $tag13 and restore $tag1以移除一个标记下的组件并还原另一个标记下的组件:
|
🎉 Copied!
|
|
- 或者
remove * and restore $tag1以移除全部组件并且还原一个被标记的组件:
|
🎉 Copied!
|
|
[Ref. QA-7337 and QA-11052]
在组件图上显示JSON数据
简单的例子
|
🎉 Copied!
|
|
[Ref.QA-15481] 关于另一个例子,请看[JSON页面](json#2fyxla9p9ob6l3t3tjre)。
端口 [port, portIn, portOut]
您可以用port,portin和portout 关键词添加端口。
端口
|
🎉 Copied!
|
|
端口输入
|
🎉 Copied!
|
|
端口输出
|
🎉 Copied!
|
|
混合使用 PortIn 和 PortOut
|
🎉 Copied!
|
|