# Markdown 表示图形

这里我使用 mermaid 这个库来绘制图形

# 流程图

流程图(Flowchart)是表示算法、工作流或流程的一种框图表示,它以不同类型的框代表不同种类的步骤,每两个步骤之间则以箭头连接。这种表示方法便于说明解决已知问题的方法。流程图在分析、设计、记录及操控许多领域的流程或程序都有广泛应用。

比如这个输出较大数值的程序:


flowchart LR
    A[开始]-->B[输入A和B]
    B-->C{A>=B?}
    C--YES-->D[输出A]
    C--NO-->E[输出B]
    D-->F
    E-->F[结束]

# 时序图

序列图(Sequence Diagram),亦称为循序图、时序图,是一种 UML 行为图。描述物件在时间序列中的交叉作用。序列图一般和待开发系统逻辑视图上,用例的实现有关。序列图有时也称为事件图或事件情境。


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!

# 类图

类图(Class Diagram)是软件工程的统一建模语言一种静态结构图,该图描述了系统的类集合,类的属性和类之间的关系。

类图是面向对象式的建模。他们一般都被用于概念建模(conceptual modelling)的系统分类的应用程序,并可将模型建模转译成代码。

一个类有三个区域

  • 最上面是类名称
  • 中间部分包含类的属性
  • 底部部分包含类的方法

  • “+”表示 public;
  • “-”表示 private;
  • “#”表示 protected;
  • 不带符号表示 default。

classDiagram
    Animal <|-- Duck
    Animal <|-- Fish
    Animal <|-- Zebra
    class Animal{
        +int age
        +String gender
        +isMammal()
        +mate()
    }
    class Duck{
        +String beakColor
        +swim()
        +quack()
    }
    class Fish{
        -int sizeInFeet
        -canEat()
    }
    class Zebra{
        +bool is_wild
        +run()
    }