🧩
New! Render PlantUML diagrams directly inside GitHub with our official browser extension — No server. No tokens. No tracking. Zero permissions but clipboard. — Try it out and let us know what you think!

组件图

组件图:组件图是 UML(统一建模语言)中的一种结构图,用于可视化系统组件的组织和关系。这些图有助于将复杂的系统分解成易于管理的组件,展示它们之间的相互依存关系,确保高效的系统设计和架构。

PlantUML 的优势

组件

组件必须用中括号括起来。

还可以使用关键字component定义一个组件。 并且可以用关键字as给组件定义一个别名。 这个别名可以在稍后定义关系的时候使用。

命名例外

注意,以$ 开头的组件名以后不能隐藏或删除,因为hideremove 命令会将该名称视为$tag ,而不是组件名。要删除此类组件,必须为其添加别名或标记。

接口

接口可以使用()来定义(因为这个看起来像个圆)。

还可以使用关键字interface关键字来定义接口。 并且还可以使用关键字as定义一个别名。 这个别名可以在稍后定义关系的时候使用。

我们稍后可以看到,接口的定义是可选的。

基础示例

各元素之间可以使用虚线(..)、直线(--)、箭头(-->)的组合进行连接。

使用注释

你可以使用 note left of , note right of , note top of , note bottom of 等关键字定义相对于对象位置的注释。

也可以使用关键字note单独定义注释,然后使用虚线(..)将其连接到其他对象。

WARNING
 This translation need to be updated. 
WARNING

组合组件

你可以使用多个关键字将组件和接口组合在一起。

改变箭头方向

默认情况下,对象之间用--连接,并且连接是竖直的。不过可以使用一个横线或者点设置水平方向的连接,就行这样:

也可以使用反向连接:

还可以使用关键字left, right, up or down改变箭头方向。

允许使用方向单词的首字母或者前两个字母表示方向(例如-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.

使用UML1标记符

命令skinparam componentStyle uml1 可以切换到UML1标记符。

使用矩形符号(去除 UML 符号)

skinparam componentStyle rectangle 命令用来切换到矩形符号 (没有任何 UML 符号).

长描述

可以用方括号"[ ]"在多行添加描述。

不同的颜色表示

你可以在声明一个组件的后面加上颜色的声明。

在定型组件中使用精灵图

你可以在定型组件中使用精灵图(sprite)。

显示参数

你可以使用skinparam命令来改变绘图的字体和颜色。

你可以在下列场景中使用该命令:

你可以为构造型组件和接口定义特定的颜色和字体。

特定皮肤参数

组件样式

[参考文献10798]

隐藏或删除未链接的组件

默认情况下,所有的组件都显示出来:

但你可以:

[参考QA-11052]

隐藏、删除或恢复被标记的组件或通配符

你可以在组件中添加 $tags (使用 $ 符号) , 然后单独或者按照标记删除、隐藏或者还原组件.

默认情况下,所有的组件都会显示:

但是你可以:

[Ref. QA-7337 and QA-11052]

在组件图上显示JSON数据

简单的例子

[Ref.QA-15481]

关于另一个例子,请看[JSON页面](json#2fyxla9p9ob6l3t3tjre)。

端口 [port, portIn, portOut]

您可以用port,portinportout 关键词添加端口

端口

端口输入

端口输出

混合使用 PortIn 和 PortOut