10分钟学会使用PlantUML绘图

PlantUML 是一个开源工具,可以用来绘制时序图、用例图、类图、活动图、组件图、状态图等。它使用一种简单的文本语言来定义图形,然后转换成实际的图形。下面是一个使用 PlantUML 创建一个简单的类图的示例:
首先,你需要安装 PlantUML。你可以从 PlantUML 的官方网站下载,或者使用 Java 的包管理工具 Maven 或 Gradle 来安装。

安装完成后,你可以创建一个文本文件,比如叫 example.puml,然后输入以下内容:

@startuml
class User {
  +String name
  +Integer age
  +void setName(String name)
  +String getName()
  +void setAge(Integer age)
  +Integer getAge()
}
class Order {
  +User user
  +List<Item> items
  +void setUser(User user)
  +User getUser()
  +void addItem(Item item)
  +List<Item> getItems()
}
class Item {
  +String name
  +Double price
  +void setName(String name)
  +String getName()
  +void setPrice(Double price)
  +Double getPrice()
}
User "1" -- "0..*" Order : places
Order "1" -- "0..*" Item : contains
@enduml

这个文件定义了三个类:UserOrderItem,以及它们之间的关系。User 类有一个名字和一个年龄,Order 类有一个用户和多个 Item,而 Item 类有一个名字和一个价格。UserOrder 之间的关系是 “一个用户可以下多个订单”,而 OrderItem 之间的关系是 “一个订单可以包含多个商品”。
保存文件后,你可以使用 PlantUML 的命令行工具或者支持 PlantUML 的编辑器(如 Visual Studio Code、Sublime Text 等)来生成实际的图形。如果你使用命令行,可以运行以下命令:

java -jar plantuml.jar example.puml

这将生成一个名为 example.png 的图片文件,其中包含了你定义的类图。

时序图示例

@startuml
actor "User" as user
participant "Database" as db
user ->> db : Query Data
activate db
db -->> user : Data
deactivate db
@enduml

用例图示例

@startuml
left to right direction
actor "User" as user
usecase "Login" as UC1
usecase "Logout" as UC2
user --> UC1
user --> UC2
@enduml

活动图示例

@startuml
start
:Request processed;
->choice
if (response == 200?) then (yes)
    :Success action;
else
    :Error action;
endif
stop
@enduml

状态图示例

@startuml
[*] --> Active
state Active {
  [*] --> Idle
  Idle --> Busy : doWork()
  Busy --> Idle : completeWork()
  Busy --> Active : deactivate()
}
Active --> [*]
@enduml

每个示例都是使用 PlantUML 的文本语言编写的,您可以将这些文本保存为 .puml 文件,并使用 PlantUML 工具生成相应的图形。这些图例展示了 PlantUML 在不同场景下的应用,包括用户与数据库的交互、用户的登录和登出用例、处理请求的活动以及一个简单的状态转换。

  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值