C4-Model Component

本文章描述基于 C4-Model + PlantUML + VSCode 开发设计软件架构,相关环境搭建参看:C4-Model 开发环境搭建

1. Component

在这里插入图片描述

函数名Component($alias, $label, $techn="", $descr="", $sprite="", $tags="", $link="")
参数
alias(必须)定义Person的一个别名,用于后续设计的调用
label(必须)用于定义在图形上显示的标签, 可以使用字符串,也可以直接输入
techn为容器增加技术栈,如 [C/C++] [JS/TS]
descr增加对Container的详细描述
sprite为容器增加图标,C4 容器默认无图标
tags增加一个自定义的 tag, 默认tag为 Container
link增加一个链接,实现点击跳转的功能

2. ComponentDb

在这里插入图片描述

函数名ComponentDb($alias, $label, $techn="", $descr="", $sprite="", $tags="", $link="")
参数参见:Component

3. ComponentQueue

在这里插入图片描述

函数名ComponentQueue($alias, $label, $techn="", $descr="", $sprite="", $tags="", $link="")
参数参见:Component

4. Component_Ext

在这里插入图片描述

函数名Component_Ext($alias, $label, $techn="", $descr="", $sprite="", $tags="", $link="")
参数参见:Component

5. ComponentDb_Ext

在这里插入图片描述

函数名ComponentDb_Ext($alias, $label, $techn="", $descr="", $sprite="", $tags="", $link="")
参数参见:Component

6. ComponentQueue_Ext

在这里插入图片描述

函数名ComponentQueue_Ext($alias, $label, $techn="", $descr="", $sprite="", $tags="", $link="")
参数参见:Component

7. AddComponentTag

在这里插入图片描述

函数名AddComponentTag ( $tagStereo, $bgColor=$CONTAINER_BG_COLOR, $fontColor=$ELEMENT_FONT_COLOR, $borderColor=$CONTAINER_BORDER_COLOR, $shadowing="", $shape="", $sprite="", $techn="", $legendText="", $legendSprite="")
参数
tagStereo(必须)设置一个标签的名称,用于后续的调用与显示,设置值为显示值
bgColor设置容器的背景颜色
fontColor设置容器的字体颜色
borderColor设置边框的颜色
shadowing是否显示阴影,true 或者 false
shape 为容器设置一个图标,
默认为直角
roundedBox 圆角
eightSided 斜角
sprite 设置一个图标
techn为容器增加一个技术栈,如果在容器定义中重新声明则显示容器中的定义
legendText设置在图例中显示的标题
legendSprite设置一个在图例中显示的图标,默认为上面参数sprite设置的图标

8. AddExternalComponentTag

在这里插入图片描述

函数名AddExternalComponentTag( $tagStereo, $bgColor=$CONTAINER_BG_COLOR, $fontColor=$ELEMENT_FONT_COLOR, $borderColor=$CONTAINER_BORDER_COLOR, $shadowing="", $shape="", $sprite="", $techn="", $legendText="", $legendSprite="")
参数参见:AddComponentTag

9. 代码示例

@startuml
!define RELATIVE_INCLUDE /Users/xxx/C4-PlantUML
!include RELATIVE_INCLUDE/C4_Component.puml
!include <office/Devices/data_jack>
!include <office/Devices/device_bluetooth> 

Component(ComponentA, "Component", "C/C++", "一个C4 demo 程序的一个组件") 
ComponentDb(ComponentDbA, "ComponentDb", "C/C++", "一个C4 demo 程序的一个组件") 
ComponentQueue(ComponentQueueA, "ComponentQueue", "C/C++", "一个C4 demo 程序的一个组件") 
Component_Ext(Component_ExtA, "Component_Ext", "C/C++", "一个C4 demo 程序的一个组件") 
ComponentDb_Ext(ComponentDb_ExtA, "ComponentDb_Ext", "C/C++", "一个C4 demo 程序的一个组件") 
ComponentQueue_Ext(ComponentQueue_ExtA, "ComponentQueue_Ext", "C/C++", "一个C4 demo 程序的一个组件") 

AddComponentTag("Eth", $sprite=data_jack, $techn="LwIP")
Component(AddComponentTagA, "AddComponentTag", $descr="以太网接口", $tags="Eth") 

AddExternalComponentTag("bluetooth", $sprite=device_bluetooth, $techn="bluetooth")
Component_Ext(AddExternalComponentTagA, "AddExternalComponentTag", $descr="以太网接口", $tags="bluetooth") 
SHOW_LEGEND(false)
@enduml

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值