UML在md中的写法与示意
flowchart
流程图marmaid flowchart for markdown.
基本语法
声明一个新图和图布局的方向
- TB-顶底
- BT-底部顶部
- RL-右左
- LR-左右
- TD-与TB相同
graph TDStart --> Stop
节点和形状
可以在流程图中输入注释,解析器将忽略它们。注释必须自己一行,并且必须以%%
(双百分号)开头。注释开始到下一个换行符之后的所有文本都将被视为注释,包括任何流语法。
可以将文本放在引号中,以呈现更麻烦的字符。(将文字内容变成字符串)
graph LRidid1[这是一个带文本的节点]id2(这是一个圆角节点)id3((一个圆形))id4{菱形}id5{{一个六边形}}id6>书签式节点]id7[/平行四边形/]id8[/这是一个梯形\]id8["/这(是一个[梯形])\"]%%这是一段注释
节点之间的链接
节点可以通过链接/边缘连接。可以具有不同类型的链接,也可以将文本字符串附加到链接
子图的设置
graph TBc1-->a2subgraph onea1-->a2endsubgraph twob1-->b2endsubgraph threec1-->c2end
sequenceDiagram
顺序图marmaid sequenceDiagram for markdown.
基本示意语法
顺序图是一个交互图,它显示了进程如何相互操作以及以什么顺序进行操作。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QpZ2FSQH-1593085675554)(C:\Users\gulu\Desktop\mermaid.assets\image-20200625185359500.png)]
吃饭的整个流程与顺序图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RFzV6ept-1593085675557)(C:\Users\gulu\Desktop\mermaid.assets\image-20200625185533967.png)]
sequenceDiagram
张三 ->> 李四: 你好!李四, 最近怎么样?
李四-->>王五: 你最近怎么样,王五?
李四--x 张三: 我很好,谢谢!
李四-x 王五: 我很好,谢谢!
Note right of 王五: 李四想了很长时间, 文字太长了<br/>不适合放在一行.李四-->>张三: 打量着王五...
张三->>王五: 很好... 王五, 你怎么样?
当前支持的六种箭头方式
类型 | 描述 |
---|---|
-> | 实线无箭头 |
-> | 虚线无箭头 |
->> | 带箭头的实线 |
->> | 带箭头的虚线 |
-X | 实线,末端带有叉号(异步) |
- X | 虚线末端带有十字(异步) |
激活框的运用
sequenceDiagramAlice->>+John: Hello John, how are you?John-->>-Alice: Great!
说明框的运用
sequenceDiagramparticipant Johnparticipant AliceNote right of Alice: Text in noteNote over Alice,John: A typical interaction
循环
sequenceDiagramAlice->John: Hello John, how are you?loop Every minuteJohn-->Alice: Great!end
class diagram
“在软件工程中,统一建模语言(UML)中的类图是一种静态结构图,它通过显示系统的类,其属性,操作(或方法)以及对象之间的关系来描述系统的结构。 ”。维基百科
类图是面向对象建模的主要构建块。它用于应用程序结构的一般概念建模,以及用于将模型转换为编程代码的详细建模。类图也可以用于数据建模。类图中的类表示主要元素,应用程序中的交互以及要编程的类。
UML提供了表示类成员的机制,例如属性和方法,以及有关它们的其他信息。图中一个类的单个实例包含三个隔离专区:
- 顶部的小节包含类的名称。它以粗体和居中打印,并且第一个字母大写。它还可能包含描述类性质的可选注释文本。
- 中间隔间包含该类的属性。它们左对齐,第一个字母为小写。
- 底部的隔离区包含类可以执行的操作。它们也左对齐,首字母为小写。
定义一个类
定义类有两种方法:
- 使用关键字**类(**如)明确定义一个类
class Animal
。这定义了动物类 - 通过它们之间的关系定义两个类
Vehicle <|-- Car
。这定义了两个类Vehicle和Car及其关系。
classDiagramclass AnimalVehicle <|-- Car
classDiagramclass AnimalVehicle <|-- Car
定义类的成员
UML提供了表示类成员的机制,例如属性和方法,以及有关它们的其他信息。
美人鱼根据是否存在括号 ()
来区分属性和功能/方法。与一起()
被视为函数/方法,而其他被视为属性。
定义类成员的方法有两种,无论使用哪种语法定义成员,输出都将相同。两种不同的方式是:
- 使用**:(**冒号)后跟成员名称来关联一个类的成员,这有助于一次定义一个成员。例如:
classDiagram
Class01 <|-- AveryLongClass : Cool
Class03 *-- Class04
Class05 o-- Class06
Class07 .. Class08
Class09 --> C2 : Where am i?
Class09 --* C3
Class09 --|> Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
Class08 <--> C2: Cool label
classDiagram
Class01 <|-- AveryLongClass : Cool
Class03 *-- Class04
Class05 o-- Class06
Class07 .. Class08
Class09 --> C2 : Where am i?
Class09 --* C3
Class09 --|> Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
Class08 <--> C2: Cool label
UML在md中的写法与示意相关推荐
- [跟我学UML] UML包图中的包引入和包合并
缩略语 UIS UML Infrastructure Specification UML基础结构规范 UML Unifed Modeling Language ...
- 区分 UML 类图中的几种关系
区分 UML 类图中的几种关系 2010-12-23 作者:fnw 来源:网络 区分 UML 类图中的几种关系 UML 类图中的 "关联关系(association) &qu ...
- .NET中委托写法的演变(上):委托与匿名方法
可能有一件事情需要说在前面,那就是:委托本身其实从来没有改变过,改变的一直都是委托的"写法".因此更确切地说,改变的只是"编译器".而本文所有内容都用C#来实现 ...
- 一起谈.NET技术,从.NET中委托写法的演变谈开去(中):Lambda表达式及其优势...
在上一篇文章中我们简单探讨了.NET 1.x和.NET 2.0中委托表现形式的变化,以及.NET 2.0中匿名方法的优势.目的及注意事项.那么现在我们来谈一下.NET 3.5(C# 3.0)中,委托的 ...
- 【Github】怎么在README.md中添加图片?
原理是将图片作为文档上传,在README.md中引用即可. 参考博客:[GitHub]给GitHub上的ReadMe.md文件中添加图片怎么做 . gitHub创建文件夹
- c语言中编程中跳格的写法是,c语言中现代写法,用C语言编程中,一般的格式是怎样的?...
C语言源程序的编程格式归纳如下: 1,强制性规则 1,一个C语言源程序必须有且只有一个MAIN函数. 2,函数名后必须紧跟圆括号对,函数体放在右圆括号")"后的花括号对" ...
- 从.NET中委托写法的演变谈开去(中):Lambda表达式及其优势
在上一篇文章中我们简单探讨了.NET 1.x和.NET 2.0中委托表现形式的变化,以及.NET 2.0中匿名方法的优势.目的及注意事项.那么现在我们来谈一下.NET 3.5(C# 3.0)中,委托的 ...
- 在 UML 静态结构图中使用类和对象
在 UML 静态结构图中使用类和对象 向类.组件或其他元素添加接口 在静态结构图.组件图或部署图中,将棒糖形"接口"形状(用一条直线加圆圈表示)拖到绘图页上. 将不带圆圈的端点粘附 ...
- [VUE3]vue2.x中slot-scope插槽在vue3.x中的写法(以elementPlus和AntDesign为例)
[VUE3]vue2.x中slot-scope插槽在vue3.x中的写法 elementUI vue2.x的写法 <el-table-column label="测试" al ...
最新文章
- LAMP_apache安装_2
- HttpClient之GET请求
- lisp 线型虚实变换_绘画|虚实?国风画这叫线型变化!画线条的正确姿势,你对了吗...
- 两个坐标系进行了缩放平移后的变换关系
- Oracle Spatial 翻译第一漳
- 论文阅读(4)--Part-Stacked CNN for Fine-Grained Visual Categorization
- c语言中extern关键字_了解C语言中的extern关键字
- C++ int与string互转换
- 【Proteus仿真】51单片机驱动蜂鸣器播放《天空之城》
- [搜片神器]直接从DHT网络下载BT种子的方法
- CodeForces - 3B Lorry【贪心】
- 橙色——网页效果图设计之色彩索引
- 华南农业大学计算机专业怎么样,华南农业大学(专业学位)计算机技术考研难吗...
- 唯有卡拉特拉瓦,才敢让建筑飞起来!
- 玉米社:抖音作品几大核心指标,完播率、点赞率、吸粉率多少算好?
- OSPF路由协议及工作原理(一)
- 2019-详细Android Studio开发百度地图(4)—百度地图_路线规划的实现
- VUE三目运算使用 :style与:class
- 访问 IIS 元数据库失败
- WIN+R 实用大总结
热门文章
- 计算机无法识别华为m3,华为平板M3青春版10.1英寸平板电脑没法充电的原因是什么_华为平板电脑没法充电故障分析...
- Git分布式版本管理工具
- element tree不刷新视图_00后都开始找工作了,这些都不懂还聊个啥?
- python俄罗斯方块编程思路_少儿编程分享:手把手教你用Python编写俄罗斯方块(十)...
- (*^__^*) 感恩相伴,祝福相随 (*^__^*)
- camx框架-Camera初始化
- window.print()实现分页打印
- ysoserial URLDNS解析
- 【轻聊前端】JavaScript中的数字游戏
- 真神奇!敲击桌子就能操控iPad或iPhone