前言
这个可以用来建模,不过现在的建模都是用更加专业的工具来做复杂的建模。
这个可以用来表现一些基础的数据解构关系还是不错的。
我们从一个例子贯穿全文!
基础语法
属性修饰符
修饰符 | 解释 |
---|---|
+ | Public(开放属性) |
- | Private(私有属性) |
# | Protected(受保护) |
~ | Package(包|模块) |
表现修饰符
修饰符 | 解释 |
---|---|
<!— | Inheritance(继承) |
*__ | Composition(组合函数,可以理解为 mixin) |
o— | Aggregation(聚合) |
—> | Association(关联|联系) |
— | Link(链接) |
关系修饰符
修饰符 | 解释 |
---|---|
0..1 | 0或1 |
1 | 只有1 |
1..* | 1或无限 |
* | 无限多 |
n | 至少大于1 |
0..n | n 大于1时侯,0到 n 个 |
1..n | n 大于1时侯,1到 n 个 |
基础声明
classDiagram
人 <|-- 亚洲人
人 <|-- 日本人
人 -- 美国人
人 : +int 年龄
人 : +String 性别
人: +Boolean 是否存活
亚洲人 "1" --> "1" 日本人
class 亚洲人{
+String 黄皮肤
+Array 文化多种多样
}
class 日本人{
-Boolean 人口老龄化严重
-Boolean 女性肤白貌美
#Boolean 萌妹子出口
~Boolean 大部分文化从大中华进口
}
class 美国人{
~Boolean 横行霸道
~Boolean 随意干涉他国内政
#String 心算能力就是个渣(美名其曰我们推崇工具)
}
接口及枚举声明
接口使用的修饰符<<interface>>
枚举使用的修饰符<<enumeration>>
classDiagram
class Shape{
<<interface>>
noOfVertices
draw()
}
class Color{
<<enumeration>>
RED
BLUE
GREEN
WHITE
BLACK
}
总结
这图我基本不用,用这个来建模太痛苦,表现力也不是很完美。
建模还是得用专业的建模工具来表现,不仅仅表现上,维护上和可读性上都碾压。