PlantUML是一個UML的工具侣诵,使用類似HTML的標記性語言伦乔,編寫代碼自動生成UML圖恐似。它會自動排版成完美的樣式惑淳,并且功能很完善闸昨,本文主要簡單介紹畫簡單的類圖骂蓖。
1. 使用準備
1.1 示例
PlantUML提供了在線服務畔乙。下面是一個簡單示例:
@startuml
Class01 <|-- Class02
Class03 *-- Class04
Class05 o-- Class06
Class07 .. Class08
Class09 -- Class10
@enduml
效果:
11.png
1.2 安裝
官方指南是給出plantuml.jar贡珊,在命令行中執(zhí)行茴扁。不過铃岔,PlantUML有跟多插件,本文都是在IDEA中使用的峭火。
- Java
- Graphviz
- IDEA插件:PlantUML integration
2. 使用PlautUML畫類圖
官方的類圖使用文檔已經(jīng)很清晰毁习、詳細智嚷,不做過多介紹。
關(guān)于UML類圖與類的關(guān)系不了解的纺且,可以參考文章盏道,這篇文章中的圖真的很棒。
3. 示例效果
按照第2節(jié)的博文畫了一個類似的類圖载碌,先看效果:
22.png
代碼:
@startuml
動物 ..> 空氣 : 依賴
動物 ..> 水
鳥 --|> 動物 : 繼承
大雁 ..|> 飛翔 : 實現(xiàn)接口
大雁 --|> 鳥
大雁 "n" --o "1" 雁群 : 聚合
鴨 --|> 鳥
唐老鴨 -- 鴨
翅膀 --* 鳥 : 組合 >
企鵝 --> 氣候 : 單向關(guān)聯(lián)
企鵝 --|> 鳥
class 動物 {
- {static}有生命
# 重量
+ 年齡
+ {abstract}新陳代謝(空氣 水)
+ 繁殖()
+ 繁殖(變量1)
}
note right: 動物的注釋
note left of 動物::重量
動物的重量的注釋
end note
note left of 動物::"繁殖()"
同名方法的注釋
end note
note right of 動物::"繁殖(變量1)"
同名方法的注釋
end note
class 空氣
class 水
class 鳥 {
+ 翅膀
+ 下蛋()
}
class 翅膀 {
}
interface 飛翔 {
+ 飛()
}
class 大雁 {
+ 下蛋()
+ 飛翔()
}
note top of 大雁
大雁的注釋
end note
class 雁群 {
+ V型飛行()
+ 一型飛行()
}
class 鴨 {
+ 下蛋()
}
class 唐老鴨 {
- 講話()
# 走路()
}
class 企鵝 {
+ 下蛋()
}
enum 氣候 {
}
note as N1
這是一個注釋猜嘱,可以像Markdown一樣貼圖和
HTML一樣<u>下劃線</u>
end note
@enduml