本文章描述基于 C4-Model + PlantUML + VSCode 开发设计软件架构,相关环境搭建参看:C4-Model 开发环境搭建
1. Person
函数名 | Person ($alias, $label, $descr="", $sprite="", $tags="", $link="") |
|
参数 |
alias(必须) | 定义Person的一个别名,用于后续设计的调用 |
label(必须) | 用于定义在图形上显示的标签, 可以使用字符串,也可以直接输入 |
descr | 增加对Person的详细描述 |
sprite | 修改图标,C4提供两种图标,分别为person / person2 |
tags | 增加一个自定义的 tag, 默认tag为 person |
link | 增加一个链接,实现点击跳转的功能 |
2. Person_Ext
函数名 | Person_Ext ($alias, $label, $descr="", $sprite="", $tags="", $link="") |
|
参数 | 参见:Person |
3. System
函数名 | System ($alias, $label, $descr="", $sprite="", $tags="", $link="") |
|
参数 | 参见:Person |
4. System_Ext
函数名 | System_Ext ($alias, $label, $descr="", $sprite="", $tags="", $link="") |
|
参数 | 参见:Person |
5. SystemDb
函数名 | SystemDb ($alias, $label, $descr="", $sprite="", $tags="", $link="") |
|
参数 | 参见:Person |
6. SystemQueue
函数名 | SystemQueue ($alias, $label, $descr="", $sprite="", $tags="", $link="") |
|
参数 | 参见:Person |
7. SystemDb_Ext
函数名 | SystemDb_Ext ($alias, $label, $descr="", $sprite="", $tags="", $link="") |
|
参数 | 参见:Person |
8. SystemQueue_Ext
函数名 | SystemQueue_Ext ($alias, $label, $descr="", $sprite="", $tags="", $link="") |
|
参数 | 参见:Person |
9. Enterprise_Boundary
函数名 | Enterprise_Boundary ($alias, $label, $tags="", $link="") |
|
参数 | 参见:Person |
10. System_Boundary
函数名 | System_Boundary($alias, $label, $tags="", $link="") |
|
参数 | 参见:Person |
11. AddPersonTag
函数名 | AddContainerTag ( $tagStereo, $bgColor=$CONTAINER_BG_COLOR, $fontColor=$ELEMENT_FONT_COLOR, $borderColor=$CONTAINER_BORDER_COLOR, $shadowing="", $shape="", $sprite="", $legendText="", $legendSprite="") |
|
参数 |
tagStereo(必须) | 设置一个标签的名称,用于后续的调用与显示,设置值为显示值 |
bgColor | 设置容器的背景颜色 |
fontColor | 设置容器的字体颜色 |
borderColor | 设置边框的颜色 |
shadowing | 是否显示阴影,true 或者 false |
shape | 为容器设置一个图标, 默认为直角 roundedBox 圆角 eightSided 斜角 |
sprite | 设置一个图标 |
techn | 为容器增加一个技术栈,如果在容器定义中重新声明则显示容器中的定义 |
legendText | 设置在图例中显示的标题 |
legendSprite | 设置一个在图例中显示的图标,默认为上面参数sprite设置的图标 |
11. AddExternalPersonTag
函数名 | AddExternalPersonTag ( $tagStereo, $bgColor=$CONTAINER_BG_COLOR, $fontColor=$ELEMENT_FONT_COLOR, $borderColor=$CONTAINER_BORDER_COLOR, $shadowing="", $shape="", $sprite="", $legendText="", $legendSprite="") |
|
参数 | 参见:AddPersonTag |
12. AddSystemTag
函数名 | AddSystemTag ( $tagStereo, $bgColor=$CONTAINER_BG_COLOR, $fontColor=$ELEMENT_FONT_COLOR, $borderColor=$CONTAINER_BORDER_COLOR, $shadowing="", $shape="", $sprite="", $legendText="", $legendSprite="") |
|
参数 | 参见:AddPersonTag |
13. AddExternalSystemTag
函数名 | AddExternalSystemTag ( $tagStereo, $bgColor=$CONTAINER_BG_COLOR, $fontColor=$ELEMENT_FONT_COLOR, $borderColor=$CONTAINER_BORDER_COLOR, $shadowing="", $shape="", $sprite="", $legendText="", $legendSprite="") |
|
参数 | 参见:AddPersonTag |
14. 代码实例
@startuml
!define RELATIVE_INCLUDE /Users/xxx/C4-PlantUML
!include RELATIVE_INCLUDE/C4_Context.puml
!include <office/Users/um_enabled_user>
Person(person, "成员 A", "一个C4 demo 程序的一个成员")
Person_Ext(person_ext, "外部成员 B", "一个C4 demo 程序的一个外部成员")
System(sys, "系统 A", "一个 C4 Model 系统")
System_Ext(sys_ext, "系统 A", "一个 C4 Model 系统")
SystemDb(sysdb, "系统 A", "一个 C4 Model 系统")
SystemQueue(sysq, "系统 A", "一个 C4 Model 系统")
SystemDb_Ext(sysdb_ex, "系统 A", "一个 C4 Model 系统")
SystemQueue_Ext(sysq_ex, "系统 A", "一个 C4 Model 系统")
Enterprise_Boundary(ent_b, "系统 A", "一个 C4 Model 系统")
System_Boundary(sys_b, "系统 A", "一个 C4 Model 系统")
AddExternalSystemTag("AddTag", $fontColor=$ELEMENT_FONT_COLOR, $borderColor=$PERSON_BORDER_COLOR, $shadowing="", $shape="", $sprite=um_enabled_user, $legendText="", $legendSprite="")
System(a, "成员 A", "一个C4 demo 程序的一个成员", $tags = "AddTag" , "")
' 显示图例,隐藏标签
SHOW_LEGEND()
@enduml