用Mermaid画流程图、序列图、类图、甘特图

2024-04-30 08:12:42 浏览数 (2)

Mermaid简介

Mermaid 是一种基于文本的图表定义语言,它允许开发者使用文本和代码的形式来创建图表。这种语言的设计初衷是为了方便版本控制和多人协作,同时简化图表的维护和更新过程。

Mermaid的使用场景

Mermaid可以支持markdown格式,所有很多时候修改是比较方便的,所有有很多方便的地方,主要有以下使用场景

1、版本控制集成,由于图表以文本形式存在,它们可以无缝地与代码一起进行版本控制。

2、多图表支持,支持多种类型的图表,包括流程图、序列图、甘特图、类图、状态图和实体关系图等。

3、自动布局、Mermaid 提供了自动布局功能,可以减少手动调整图表布局的工作量。

4、多种输出格式、可以生成多种格式的图像,如 SVG、PNG 和 PDF,方便在不同场景下使用。

Mermaid实例展示

很多人可能觉得Mermaid可能挺难的,这网易难倒是不难,主要在于语法比较多,真的使用的时候可能需要不停的查找相关信息。Mermaid 支持多种图表类型,每种类型都有其特定的语法。以下是一些常见图表类型的 Mermaid 语法示例,更详细的语法可以上官方网站去了解,这里只是展示一些图表,方便大家观看。

流程图 (Flowchart)

graph LR A[开始] --> B[处理] B --> C{结果} C -->|Yes| D[成功] C -->|No| E[失败]

这个流程图展示了一个简单的决策过程,从开始到处理,然后根据结果是成功还是失败,分别导向不同的结果。

序列图 (Sequence Diagram)

sequenceDiagram participant Alice participant Bob Alice->>Bob: Hello Bob, how are you? Bob-->>Alice: I am good thanks!

序列图展示了两个参与者之间的交互过程,例如 Alice 和 Bob 之间的对话。

甘特图 (Gantt Diagram)

gantt title 项目开发时间线 dateFormat YYYY-MM-DD section 设计 需求分析 :design1, 2023-04-01, 3d 系统设计 :design2, after design1, 5d section 开发 编码 :dev1, after design2, 10d 测试 :test1, after dev1, 3d

甘特图用于展示项目的时间线和各个阶段的持续时间,非常适合项目管理。

类图 (Class Diagram)

classDiagram Class01 <|-- Class02: Inheritance Class03 *-- Class04: Composition Class05 o-- Class06: Association

类图用于展示不同类之间的关系,如继承、组合和关联。

状态图 (State Diagram)

stateDiagram [*] --> State1 State1 --> [*] State1 --> State2 State2 --> State3

状态图展示了对象可能处于的不同状态以及状态之间的转换。

实体关系图 (Entity-Relationship Diagram)

erDiagram CUSTOMER ||--o{ ORDER : places ORDER ||--|{ LINE-ITEM : contains CUSTOMER }|..|{ DELIVERY-ADDRESS : uses

实体关系图用于展示不同实体之间的关系,常用于数据库设计。

结语

我也是最近在接触到了这个Mermaid,提供了一个强大而灵活的方式来创建图表,特别适合于需要频繁更新图表内容的技术文档和软件开发项目。总的来说这个Mermaid有一定的学习成本,因为有相关大量的语法需要学习,用不用主要看自己吧,了解一些总是百利而无一害的,你说是吧!不过需要注意的是,有些平台是不支持这个mermaid语法的,就是markdown格式无法解析出图片来,真的在某些平台发文章的时候,可能需要转成图片来。

0 人点赞