如何使用 PlantUML 绘图

You,5 min read

如何使用 PlantUML 绘图

关于 plantUML

参考文献:https://plantuml.com/zh-dark/sequence-diagram (opens in a new tab)

  1. 简介:

    • PlantUML 基于文本的描述来生成 UML 图表。这意味着用户只需编写描述性的文本代码,然后 PlantUML 会根据这些代码自动生成相应的 UML 图表。
  2. 语言和语法:

    • PlantUML 使用简洁的 DSL (特定领域语言) 来描述 UML 图表。例如,使用 --> 来表示两个类之间的关系,使用 class ClassName 来定义一个类等。
  3. 支持的 UML 图表类型:

    • PlantUML 支持多种 UML 图表类型,包括序列图、用例图、类图、活动图、组件图、状态图等。
  4. 集成与扩展性:

    • 由于 PlantUML 是开源的,所以它可以轻松地与其他工具和应用程序集成,如 Visual Studio Code、IntelliJ IDEA、Jenkins 等。
    • 它还允许用户自定义图的外观、颜色和样式,以匹配特定的需要。
  5. 工具链和生成:

    • PlantUML 使用 Graphviz 工具来生成图表,所以为了使用 PlantUML,您可能需要在您的系统上安装 Graphviz。
    • PlantUML 可以生成多种格式的图像,包括 PNG、SVG、ASCII 等。
  6. 在线工具和编辑器:

    • 如果你不想在本地安装,PlantUML 也有一个在线版本,你可以直接在浏览器中编写 PlantUML 代码并生成 UML 图表。
  7. 用途:

    • 由于其简洁的文本描述和快速的图形生成,PlantUML 常被用于项目文档、开发工作流、架构设计以及其他需要可视化的场景。

总的来说,PlantUML 是一个强大且灵活的工具,使得创建、分享和集成 UML 图表变得非常容易。其基于文本的方法意味着 UML 描述可以很容易地存储在版本控制系统中,从而提高团队的协作效率。

使用

可以使用语雀等笔记工具 支持 plantUML 文本绘制功能

e8wZjF

示例

@startuml

skinparam packageStyle rectangle
left to right direction

' 定义 Client 部分
package "Client" {
  
    ' 定义 Material 部分
    package "Material Group" {
        [MaterialA]
        [MaterialB]
        [MaterialC]
    }
    
    
    ' 定义 LowCode 部分
    package "LowCode" {
        [Editor Engine]
    }
}



' 定义 Service 部分
package "Service" {
    [Material Controller]
}

' 定义 DB 部分
database "DB" {
    [MaterialA] --> [Editor Engine]
    [MaterialB] --> [Editor Engine]
    [MaterialC] --> [Editor Engine]
    [Editor Engine] --> [Material Controller]: 物料维度的 \n API 调用 (增删改查)
    [Material Controller] --> [MaterialA Model]: 只对变更部分 \n 的物料进行持久化存储
    [Material Controller] --> [MaterialB Model]
    [Material Controller] --> [MaterialC Model]
}

@enduml

字段解释

当然可以,以下是你给出的代码中各部分的解释和它们在PlantUML中的意义:

  1. @startuml@enduml

    • 这是PlantUML图表的开始和结束标记。所有PlantUML图表都必须以这两个标记开始和结束。
  2. skinparam

    • 用于自定义UML图的外观和样式。它允许用户为图中的各种元素设置颜色、字体、大小等属性。
  3. left to right direction

    • 这告诉PlantUML你想从左到右绘制图,而不是默认的从上到下。
  4. package

    • 在UML中,包是用来分组类、接口等的。在这个场景中,它被用作逻辑容器来组织和分组相关的组件或实体。
  5. database

    • 一个特殊的组件,用于表示数据库或存储系统。
  6. [...]

    • 方括号中的内容表示一个组件或实体。例如[MaterialA]代表一个名为MaterialA的组件。
  7. -->

    • 表示两个组件之间的关系或方向。例如,[MaterialA] --> [Editor Engine]表示MaterialA组件与Editor Engine组件有某种关系,并且方向是从MaterialA到Editor Engine。
  8. :

    • 在关系后面用于添加描述。例如,[MaterialA] --> [Editor Engine] : Uses表示MaterialA“使用”Editor Engine。
  9. skinparam package, skinparam database, skinparam class

    • 这些用于自定义包、数据库和类的样式和颜色。例如,BackgroundColor #E0EFFF用于设置背景颜色。

希望这些解释有助于您更好地理解和使用PlantUML!如果您还有其他问题或需要进一步的解释,请告诉我。

2026 © Lizhenyui.