【Markdown高级技巧】写出高大上的流程图、时序图、类图

发布时间:2020-02-14 11:11:14 作者:wx5b3c0a4298f7b
来源:网络 阅读:7313

Markdown是一个轻量级的标记语言,使用普通文本编辑器就能快速编写,不仅显示格式丰富,功能也毫不含糊,在软件开发和开源项目中使用非常普遍。有没有想过Markdown也能写出高大上的流程图、时序图、类图?

内容目录

一,流程图

1,语法

【Markdown高级技巧】写出高大上的流程图、时序图、类图

start=>start: 开始
io=>inputoutput: 输入输出
op=>operation: 操作
cond=>condition: 条件
sub=>subroutine: 子流程
end=>end: 结束

start->io->op(right)->cond
cond(no)->sub
cond(yes, right)->end

2,Web服务API请求时读取缓存流程图

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

显示效果

【Markdown高级技巧】写出高大上的流程图、时序图、类图

3,Web服务缓存系统更新流程图

start=>start: 接收到消息
info=>operation: 读取信息
setCache=>operation: 更新缓存
end=>end: 处理结束

start->info->setCache->end

显示效果

【Markdown高级技巧】写出高大上的流程图、时序图、类图

md在线编辑器:https://www.mdeditor.com/

二,时序图

1,语法图

【Markdown高级技巧】写出高大上的流程图、时序图、类图

2,时序图4类元素

3,Web服务异步任务调度时序图示例

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: 更新缓存

显示效果

【Markdown高级技巧】写出高大上的流程图、时序图、类图

md在线编辑器:https://www.mdeditor.com/

三,UML类图

1,语法

【Markdown高级技巧】写出高大上的流程图、时序图、类图

@startuml
Title 方法和属性访问权限示例

interface IHello {
+ method()
}

class Hello {
+ field1
- field2
# field3
+ method()
- method1()
# method2()
~ method3()
}
@enduml

2,类图关系,1张表整理清楚常见6种关系,必须记住啦:泛化、实现、组合、聚合、关联、依赖。

【Markdown高级技巧】写出高大上的流程图、时序图、类图

类或接口名称前可包含包名称,可加关键字namespace:
【Markdown高级技巧】写出高大上的流程图、时序图、类图

@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

3,分享一个Jext开源插件扩展JIRA时画的类图

@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

显示效果

【Markdown高级技巧】写出高大上的流程图、时序图、类图

在线编辑工具

推荐阅读:
  1. Markdown写出高大上时序图
  2. Markdown写出高大上流程图

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

markdown uml类图 类继承

上一篇:Tungsten Fabric架构解析丨TF的服务链

下一篇:Tungsten Fabric架构解析丨Tungsten F

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》