Plantuml-组件和包装的重排

发布于 2025-02-01 08:00:38 字数 801 浏览 2 评论 0原文

我尝试将组件和软件包排列,如第一个屏幕截图所示。是否有机会这样做(屏幕截图1)

请在此处找到我当前的方法(ScreenShot 2)

”在此处输入图像说明”

和UML脚本:

@startuml
package "packageA" {
  [componentA]
}

package "packageB" {
  [componentB1] - [componentB2]
  [componentB2]
}

package "packageC" {
  [componentC1] - [componentC2]
  [componentC2]
}

package "packageD" {
  [componentD]
}



componentA --> componentB1
componentA --> componentC1
componentB2 -right-> [componentD]
componentC2 -right-> [componentD]

@enduml

I try to arrange the components and packages as shown on the first screenshot. Is there any chance to do it like this (Screenshot 1)
enter image description here

Please find my current approach here (Screenshot 2)

enter image description here

And uml script here:

@startuml
package "packageA" {
  [componentA]
}

package "packageB" {
  [componentB1] - [componentB2]
  [componentB2]
}

package "packageC" {
  [componentC1] - [componentC2]
  [componentC2]
}

package "packageD" {
  [componentD]
}



componentA --> componentB1
componentA --> componentC1
componentB2 -right-> [componentD]
componentC2 -right-> [componentD]

@enduml

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

森林迷了鹿 2025-02-08 08:00:38

随着左至右向的方向,并省略了包装中的显式方向,您可以大致获得想要的东西:

@startuml
left to right direction

skinparam package {
    backgroundColor Gray
}
skinparam component {
    backgroundColor Gold
}

package "packageA" {
  [componentA]
}
package "packageB" {
  [componentB1] -- [componentB2]
}
package "packageC" {
  [componentC1] -- [componentC2]
}
package "packageD" {
  [componentD]
}

componentA --> componentB1
componentA --> componentC1
componentB2 --> [componentD]
componentC2 --> [componentD]
@enduml

“带有灰色包装和金色组件的包装图,水平对齐,但垂直堆叠多型组件套件”

垂直比对控制不容易。我相信问题来自组件之间的链接,而可能有一些尝试使包裹对齐。

从上到下的对齐在这方面可以更好地居中。在某些情况下也可以有所帮助的是,还要添加一些- [hidden] - >链接,这些链接似乎也以对齐/中心考虑在内,但是在这种相当平坦的情况下,它不是' t改变了很多。

With the left to right orientation, and leaving out the explicit orientation in the package, you can get roughly what you want:

@startuml
left to right direction

skinparam package {
    backgroundColor Gray
}
skinparam component {
    backgroundColor Gold
}

package "packageA" {
  [componentA]
}
package "packageB" {
  [componentB1] -- [componentB2]
}
package "packageC" {
  [componentC1] -- [componentC2]
}
package "packageD" {
  [componentD]
}

componentA --> componentB1
componentA --> componentC1
componentB2 --> [componentD]
componentC2 --> [componentD]
@enduml

package diagram with gray packages and gold components, aligned horizontally, but stacking multi-component packages vertically

The vertical alignment it not easy to control. I believe the problem comes from the link between components whereas there are probably some attempt to align the packages.

An alignment from top to bottom gives better centering in this regard. What can also help in some cases is to add also some -[hidden]-> links which seem to be taken into account in alignment/centering as well, but in this rather flat situation it doesn't change much.

Demo

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文