文章目錄
前言
IDEA 下載插件 PlantUML,直接在 IDEA 里面編寫 UML,很方便;然后電腦再安裝渲染引擎 Gravizo ,沒有它,復雜的類圖就無法渲染了 ;
鏈接:https://pan.baidu.com/s/12GmRAMjRDAkVLJTp4x64vw 提取碼:018g
對了 PlantUML 插件,貌似不提供拖拽控件,這無所謂,就像真正的安卓高手,寫布局,絕對不會是拖拽控件的,肯定是手寫xml文件;
如果看到這了,也不用挑了, PlantUML 無比強大,顏值也不差,支持導出普通圖片和矢量圖,就選 PlantUML,不用再去比較哪一個最好了,比較來比較去,也沒意思,就像各種語言之爭一樣,再厲害也是工具厲害,對吧,為何不做個自己也厲害的人呢;
-> --> 信息傳遞
小明與小紅對話:
這里的 小明、小紅 都是參與者,關於參與者看下一節;

聲明參與者的幾個關鍵字
actorboundarycontrolentitydatabasecollectionsparticipant
它們都是參與者,只是聲明出來的 圖標 不一樣,根據單詞意思也可以看出,在合適的地方選擇合適的參與者;:

as 重命名參與者
在聲明參與者的時候,可以取別名 ,然后再以后使用,可以直接使用別名,但是原名字不能再被使用;
聲明參與者的時候,參與者的名字是可以使用雙引號括起來的,比如你的名字很長,中間有空格就需要雙引號括起來;但是別名是不允許有雙引號的;

# 添加顏色
# 為參與者賦予顏色,后面可以是 RGB 顏色,也可以是顏色的單詞:

order 定義參與者順序
默認參與者安裝聲明的先后進行排序,可以自定義順序,使用 order 關鍵字排序;先后順序,安裝 order 后面的數字來決定,數值越小,越靠前,數值一樣大,按照聲明順序;

“” 參與者名字
參與者起名字的時候,一般只能是字母、數字,如果想使用其他字符,則可以使用 “” 括起來:

給自己發信息
消息太長,可以使用 \n 進行換行;

修改傳達信息的箭頭樣式
我們可以通過,修改箭頭樣式,來表達不一樣的意思:
- 表示一條丟失的消息:末尾加 x
- 讓箭頭只有上半部分或者下半部分:將<和>替換成\或者 /
- 細箭頭:將箭頭標記寫兩次 (如 >> 或 //)
- 虛線箭頭:用 – 替代 -
- 箭頭末尾加圈:->o
- 雙向箭頭:<->

修改箭頭顏色
在寫箭頭的時候,在中間插入 [#xxx] 變為 -[#xxx]>:

autonumber 消息序列
autonumber會自動的對信息進步編號:autonumber xx從指定的數字xx開始編號:autonumber xx zz從指定數字xx開始編號,每次步長為zz:
自定義編號的格式
雙引號里面的就是編號的格式:
- 雙引號內嵌入
html標簽:autonumber “<b>10<b>”,加粗編號 - 制定編號的格式:
autonumber 40 "<b>message (000)</b>" - 制定格式的時候,0 ,# 都代表數字,但是 0 可以占位,# 不能;

暫停、啟用自動編號
- 可以暫停使用編號:
autonumber stop - 還可以繼續接着之前的編號,啟用編號
- 或者,從新的編號開始,繼續啟用編號

設置標題、頁眉、頁腳
title,設置標題herder,設置頁眉footer,設置頁腳,如果想用頁碼,則加上%page% of %lastpage%

分割頁面
newpage 會產生新的一幅圖,並且上文提到的 title 只能為第一頁寫標題,無論你寫在哪里,都只能為第一頁寫標題:

組合信息
alt/else,類似於if / elseopt選擇,loop循環parbreak跳出循環criticalgroup組
它們后面緊跟着消息內容,都是用來組合信息,就跟定義參與者一樣,也有好多的關鍵字,但是自己根據場景選擇對應的關鍵字,這里也是,使用 end 結束沒個小分組;

給信息添加注釋
-
在左邊添加注釋
note left : -
在右邊添加注釋
note right : -
多行注釋,
note left /right 多行注釋 end note

-
在特定參與者添加注釋
note left of,note right of或note over

這里說個小竅門,注釋怎么看是誰的,首先看線,只要是那個參與者的注釋,則那個參與者的線,是必定壓不到的;如果壓到線了,那么就是
over的情況了,注釋偏向誰那邊,就是誰的,如果差不多在中見,則是兩/多個參與者共有的;
改變注釋框的外觀
使用 hnote 和 rnote 取代之前的 note ,h 是六邊形,r 是長方形:

使用 html
<b> 或者 `**`括起來: 加粗文本
<u> 或者 `_ _`括起來:加下划線
<i> 或者 `//`括起來:斜體
<s> 或者 `--`括起來:刪除線
<w> 或者 `~~`括起來:波浪線
<color:#AAAAAA> 或 <color:colorName> 用來設置文本顏色
<back:#AAAAAA> 或 <back:colorName> 用來設置背景色
<size:nn> 設置字體大小
<img src="file"> 或 <img:file> 用來添加圖片,圖片文件必須 是可以訪問得到才行。
<img src="http://url"> 或 <img:http://url> 用來添加一個互 聯網圖片,同樣的圖片地址必須是可用的才行。

分割符
== xxx == 分割流程:

延遲
... 代表延遲:

空間
有時候我們感覺,上下文信息太過密集,可以使用 ||| 來增加空間,或者 ||size|| 指定空間大小:

生命線激活、撤銷
activate和deactivate用來表示參與者的生命活動激活、撤銷,而 destroy 則代表生命線的摧毀:
生命線被撤銷、摧毀以后,還是可以再次激活的,但是不能在同一個點,撤銷、摧毀以后,立馬激活,在圖中表現為,線必須要有斷點:

在生命線激活期間,可以再次激活, 也可給生命線上顏色,激活以后 #xxxx:

Return
可以根據上下文信息智能的判斷,返回到哪一個點,還可以傳遞信息過去;
比如,上文 A->B ,則 return 就是B->A:

創建參與者
在對話期間,創建參與者,而不是一開始參與者就存在,然后兩人對話:
在發送信息之前,使用 create actor xxx 創建對象,然后再和 xxx 發信息

進入和發出消息
[ ,] 分別代表左右兩側,寫的時候,一般我是先寫 xx,代表參與者,然后箭頭,最后寫 [,] ,這里的箭頭可以是之前學的各種樣式:
箭頭樣式的時候,需要注意下,
當然,寫法不止這一種,自己也可以挑選好記的:

包裹參與者
可以使用box和end box畫一個盒子將參與者包裹起來。
還可以在box關鍵字之后添加標題或者背景顏色。

移除腳注
使用hide footbox關鍵字移除腳注,這樣就沒有

skinparam 外觀參數
使用 skinparam handwritten true 開啟手寫風格
使用 skinparam backgroundColor #顏色RGB 指定背景填充顏色

skinparam ParticipantPadding 數值指定參與者的外邊距skinparam BoxPadding 數值指定box的外邊距
