您好,登錄后才能下訂單哦!
Markdown是一個輕量級的標記語言,使用普通文本編輯器就能快速編寫,不僅顯示格式豐富,功能也毫不含糊,在軟件開發和開源項目中使用非常普遍。有沒有想過Markdown也能寫出高大上的流程圖、時序圖、類圖?
start->io
io->op
op->cond
cond(no)->sub
cond(yes)->end
op(right)->sub
cond(yes, right)
start=>start: 開始
io=>inputoutput: 輸入輸出
op=>operation: 操作
cond=>condition: 條件
sub=>subroutine: 子流程
end=>end: 結束
start->io->op(right)->cond
cond(no)->sub
cond(yes, right)->end
start=>start: API請求
cache=>operation: 讀取Redis緩存
cached=>condition: 是否有緩存?
sendMq=>operation: 發送MQ,后臺服務更新緩存
info=>operation: 讀取信息
setCache=>operation: 保存緩存
end=>end: 返回信息
start->cache->cached
cached(yes)->sendMq
cached(no)->info
info->setCache
setCache->end
sendMq->end
start=>start: 接收到消息
info=>operation: 讀取信息
setCache=>operation: 更新緩存
end=>end: 處理結束
start->info->setCache->end
md在線編輯器:https://www.mdeditor.com/
title: Web服務緩存更新時序圖
participant 數據中臺 as api
participant 緩存 as cache
participant 消息隊列 as mq
participant 數據服務 as srv
api->cache: 讀取緩存
cache-->api: 返回緩存
Note over api: 如果沒有讀到緩存,就調用數據服務
api->>mq: 請求更新緩存
mq->>srv: 觸發更新緩存
srv-->cache: 更新緩存
md在線編輯器:https://www.mdeditor.com/
注釋
類圖元素
@startuml
Title 方法和屬性訪問權限示例
interface IHello {
+ method()
}
class Hello {
+ field1
- field2
# field3
+ method()
- method1()
# method2()
~ method3()
}
@enduml
類或接口名稱前可包含包名稱,可加關鍵字namespace:
@startuml
Title 包名稱示例
class BaseEntity
namespace com.hello {
.BaseEntity <|-- Meeting
.BaseEntity <|-- Person
Meeting o-- Person
}
namespace com.foo {
.BaseEntity <|-- Person
com.hello.Person <|-- Person
com.hello.Meeting o-- Person
}
@enduml
@startuml
Title 到期工作日天數
內置DueWorkdaysField ..> DueWorkdays
預定義DueWorkdaysField ..> DueWorkdays
DueWorkdays ..> WorkdayHelper
DueWorkdays ..> HistoryHelper
DueWorkdays ..> StatusHelper
WorkdayHelper ..> DateUtil
class DueWorkdays{
+ getDueWorkdays()
}
class WorkdayHelper{
+ countWorkdays()
+ isHoliday()
}
class DateUtil{
+ isWeekend()
}
@enduml
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。