Plantuml - 组件和封装的重新排列

问题描述 投票:0回答:1

我尝试按照第一个屏幕截图所示排列组件和包。有没有机会这样做(截图1)

请在此处找到我当前的方法(屏幕截图 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
package uml plantuml
1个回答
6
投票

从左到右的方向,并省略包装中明确的方向,您可以大致得到您想要的:

@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]->
链接,这些链接似乎也在对齐/居中考虑在内,但在这种相当平坦的情况下,它并没有太大变化。

演示

© www.soinside.com 2019 - 2024. All rights reserved.