如何用PlantUML实现包含跨子包组件K1、K2的容器?
在PlantUML中跨子包用容器包含指定组件的实现方法
当然可行,你之前的问题是因为直接嵌套了整个子包导致不符合预期。可以通过单独定义外层容器,再关联目标组件的方式实现,无需嵌套子包。
实现代码
用矩形作为外层容器
@startuml package "Sub-Package 1" { component x component K1 x -> K1 } package "Sub-Package 2" { component y component K2 y -> K2 } rectangle "span over k1 / k2" as SPAN SPAN contains K1 SPAN contains K2 @enduml
用Package作为外层容器
如果更倾向用Package而非矩形,只需替换rectangle为package:
@startuml package "Sub-Package 1" { component x component K1 x -> K1 } package "Sub-Package 2" { component y component K2 y -> K2 } package "span over k1 / k2" as SPAN SPAN contains K1 SPAN contains K2 @enduml
效果说明
上述代码会生成一个仅包裹K1、K2的外层容器,两个组件仍保留在各自的子包中,子包内的其他组件(x、y)不会被纳入外层容器,完全匹配你的预期需求。
内容的提问来源于stack exchange,提问作者kevinunger
相关产品推荐
相关产品推荐

