Pie
pie
title 今天晚上吃什么?
"火锅" : 8
"外卖" : 60
"自己煮" : 8
"海底捞" : 9
"海鲜" : 5
"烧烤" : 5
"不吃" : 5
pie
title 时间分布
"GRE拨测" : 35
"NCE需求" : 15
"NCE/SPU问题单" : 12
"集采LLT支撑" : 10
"SA-UI安装/后台组件编译" : 7
"NCE/SPU网课学习" : 6
"SIG前后台补丁制作/安装" : 5
"可信考试" : 5
"三营/MINI培训" : 4
Flow chart
graph LR
A[矩形] -.->B(圆角矩形) --> C{菱形} ==> D((圆形))
E([体育场形])--实线文本--> F[[子程序形]]==粗实线文本==>G[(圆柱形)]-.虚线文本.->H{{六角形}}
I[/平行四边形/]-.-J[\反向平行四边形\]---K[/梯形\]===L[\反向梯形/]
graph RL
User((用户))--1.用户登录-->Login(登录)
Login --2.查询-->SERVER[服务器]
subgraph 查询数据库
SERVER--3.查询数据-->DB[(数据库)]
DB--4.返回结果-->SERVER
end
SERVER--5.校验数据-->Condition{判断}
Condition -->|校验成功| OK[登录成功]
Condition -->|校验失败| ERR[登录失败]
OK-->SYS[进入系统]
ERR -->|返回登录页面,重新登录| Login
Sequence diagram
sequenceDiagram
Alice->>+John: Hello John, how are you?
Alice->>+John: John, can you hear me?
John-->>-Alice: Hi Alice, I can hear you!
John-->>-Alice: I feel great!
sequenceDiagram
autonumber
participant Z as 张三
participant L as 李四
participant W as 王五
Note over Z,W: 张三,李四,王五, 小时候是最好的玩伴,现在80年过去了...
Z->>W: 老王最近还好吗?
Note left of Z: 除了老张,当过兵,身体比较好之外,其他两人都不太行了
loop 健康检查
W->>W: 与疾病战斗
end
Note right of W: 合理进食 看医生 打点滴...
W-->>Z: 还行,老了走不动了 !!
L->>Z: 老张,你呢怎样了
alt 健康#9829;
Z-->>L: 很好!
else 去世
Z-->>L: 对不起,老张已经走了!!!
end
Gantt
gantt
dateFormat YYYY-MM-DD
title 开发计划
section 需求文档
登录注册:done,login,2021-06-25,2021-06-28
添加好友与分组:add, 2021-06-29,3d
单聊 :active ,chat, 2021-07-01,2d
群聊 :groupChat,after chat,5d
朋友圈 :crit,5d
其他:3d
section 开发
开发登录注册:done,d-login,2021-06-25,24h
开发添加好友与分组:active,d-add,after d-login,5d
开发单聊与群聊:crit,d-chat,after d-add,7d
开发朋友圈:d-friend,after d-chat,7d
section 测试
测试用例与玩耍:active,test,2021-06-25,10d
开始测试部分接口:crit,start-test,after test,11d
Class diagram
classDiagram
class Serializable{
<<interface>>
}
class Throwable{
<<class>>
String detailMessage;
Object backtrace;
Throwable();
}
class Exception{
<<class>>
Exception()
Exception(String message)
}
class IOException{
<<class>>
}
class SocketException{
}
class RuntimeException{
<<class>>
}
class IndexOutOfBoundsException{
}
class ArithmeticException{
}
Serializable <|.. Throwable:序列化接口
Throwable *--Exception
Exception <-- RuntimeException:运行时异常
Exception <-- IOException:io流相关异常
IOException o-- SocketException
RuntimeException o-- IndexOutOfBoundsException
RuntimeException o-- ArithmeticException
State diagram
stateDiagram-v2
[*] --> 静止
静止 --> [*]
静止 --> 走
走 --> 静止
走 --> 跑
跑 --> 走:跑可以停下来就静止,也可以慢下来:走
跑 --> [*]
state if_state <<choice>>
[*] --> IsPositive
IsPositive --> if_state
if_state --> False: if n < 0
if_state --> True : if n >= 0
state fork_state <<fork>>
[*] --> fork_state
fork_state --> State2
fork_state --> State3
state join_state <<join>>
State2 --> join_state
State3 --> join_state
join_state --> State4
State4 --> [*]
[*] --> First
First --> Second
First --> Third
state First {
[*] --> fir
fir --> [*]
}
state Second {
[*] --> sec
sec --> [*]
}
state Third {
[*] --> thi
thi --> [*]
}
classDiagram
class RefCounted {
<<interface>>
}
class IOManager {
<<interface>>
+SetWorkersProxy(IOManager*)
+Shutdown()
+RegisterMessage(uint8_t, uint16_t, uint16_t)
+AsyncPublish(MDLMessage*)
+SyncPublish(MDLMessage*)
+AsyncResponse(Publisher*, RefCounted*, MDLMessage*)
+AsyncRebuildResponse(Publisher*, RefCounted*, MDLMessage*)
+CreateAutoSubscriber(MessageHandlerBase*, bool)
}
class ASIOThread {
#OnAccept(ASIOListenerPtr, ASIOSocketPtr)
#OnConnect(ASIOSocketPtr, error_code)
#OnOpen(ASIOSocketPtr)
#OnClose(ASIOSocketPtr, error_code)
#OnRead(ASIOSocketPtr)
#OnWritten(ASIOSocketPtr)
#OnTimer()
#OnThreadInitialize(char*)
}
class IOManagerImpl {
-m_ClientSockets: vector~SubscriberImplPtr~
-m_Publishers: map~int,PublisherImplBasePtr~
-work_threads_: vector~_WorkThreadItem*~
-thread_pool_: shared_ptr~thread_pool~
+Open(bool, int, int)
+Close()
+Post(int, RefCountedPtr)
+RegisterSubscriber(SubscriberImplPtr)
+UnRegisterSubscriber(SubscriberImplPtr)
+SetRequestHandler(RequestHandler*)
+GetCodecManager()
+GetSubscriberIOStat()
+GetPublisherIOStat()
}
RefCounted <|-- IOManager
IOManager <|-- IOManagerImpl
ASIOThread <|-- IOManagerImpl
References
Mermaid doc
https://rstyro.github.io/blog/2021/06/28/Markdown%E6%B5%81%E7%A8%8B%E5%9B%BE%E8%AF%AD%E6%B3%95%E7%A4%BA%E4%BE%8B/
https://www.drawio.com/blog/mermaid-diagrams