【问题标题】:PlantUML component diagam portPlantUML 组件图端口
【发布时间】:2020-02-16 11:57:27
【问题描述】:

有没有办法在组件图中创建组件端口?

如果端口只能连接到一个箭头,这很容易,因为我可以使用#-- 箭头。

interface y
[x] #- y

问题是,如果我尝试将箭头附加到一个端口。我尝试使用rectangle,但它不在边界上。

rectangle " " as P
[Component] - P

interface I1
interface I2

P - I1
P -- I2

你知道更好的解决方法吗?

【问题讨论】:

  • 两个端口都必须在组件的右(东)侧吗?否则为什么要尝试[Component] #- I1[Component] #-- I2
  • 我的意思不是这样。我想渲染连接到一个端口的两个接口。在您的示例中,两个接口都连接到两个不同的端口。
  • 也许您可以将 Rectangle 指向 [Component] 的端口,然后将 I1I2 指向矩形.. 所以将其更新为 [Component] #-- P..

标签: uml plantuml component-diagram


【解决方案1】:

虽然 TO 有点晚,但可能对其他人有帮助。

我设法使用以下方法在组件上创建端口:

@startuml
skinparam componentstyle uml2
left to right direction

component X {
    port " " as x_out
}

'u for layouting it more nicely, 0) for lollipop
x_out -u0)- [Y]
x_out -u0)- [Z]

@enduml

但是,我遇到了端口本身的糟糕布局,这意味着当一个组件有多个端口时,它会开始显得凌乱。但是,至少它是一个具有多个连接的端口。

结果如下:

【讨论】:

  • 不知道端口何时添加或记录在哪里,但这正是我所需要的。谢谢。
  • 您可以添加skinparam ComponentBackgroundColor #BUSINESSskinparam ComponentBorderColor #firebrickskinparam ComponentFontStyle normal 命令,使移植的组件具有与其他组件相同的外观。
【解决方案2】:

至少在我的情况下,我已经设法获得了令人满意的结果:

@startuml
Interface -# MasterComponent
component MasterComponent {
[Subcomponent1] - [Subomponent2]
}
MasterComponent - [Subcomponent1]
@enduml

【讨论】:

  • 是的,当只有一个接口使用该端口时,我将哈希连接作为一种解决方案。我的问题是,如何使用单个端口(例如提供和必需)绘制两个接口?
猜你喜欢
  • 1970-01-01
  • 2022-08-24
  • 2020-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-19
  • 2016-02-24
相关资源
最近更新 更多