@startuml
actor actor
agent agent
artifact artifact
boundary boundary
card card
cloud cloud
component component
control control
database database
entity entity
file file
folder folder
frame frame
interface interface
node node
package package
queue queue
stack stack
rectangle rectangle
storage storage
usecase usecase
@enduml
package "Classic Collections" #DDDDDD {
Object <|-- ArrayList
}
object firstObject
object user {
name = "Dummy"
id = 123
}
显示为组件
[First component]
package foo1 <> {
class Class1
}
package foo2 <> {
class Class2
}
package foo3 <> {
class Class3
}
package foo4 <> {
class Class4
}
package foo5 <> {
class Class5
}
package foo6 <> {
class Class6
}
folder folder [
这是个 文件夹
----
您可以使用
====
不同类型
....
的分隔符
]
package
node
folder
frame
cloud
database
artifact Foo1 {
folder Foo2
}
folder Foo3 {
artifact Foo4
}
frame Foo5 {
database Foo6
}
node Foo1 {
cloud Foo2
}
cloud Foo3 {
frame Foo4
}
database Foo5 {
storage Foo6
}
storage Foo7 {
storage Foo8
}
双杠垂直线,单杠水平线
node1 -- node2
node1 .. node3
node1 ~~ node4
node1 == node5
root-->sub1
cloud1 -0- cloud2
cloud1 -0)- cloud3
cloud1 -(0- cloud4
cloud1 -(0)- cloud5
Object01 <|-- Object02
Object03 *-- Object04
Object05 o-- "4" Object06
Object07 .. Object08 : some labels
foo1.foo2 +-- foo1.foo2.foo3
还可以通过给箭头添加left, right, up或down等关键字来改变方向。
:user: -left-> (dummyLeft)
:user: -right-> (dummyRight)
:user: -up-> (dummyUp)
:user: -down-> (dummyDown)
left to right direction
scale 750 width
你可以使用 together 关键词将某些类进行分组: 布局引擎会尝试将它们捆绑在一起(如同在一个包(package)内)
together {
class Together1
class Together2
class Together3
}
使用建立 隐藏 链接的方式来强制布局
Together2 -[hidden]--> Bar1
Bar1 -[hidden]> Bar2
设置颜色
component [Web Server] #Yellow
@startuml
class animal
class tiger
tiger --|> animal:泛化
class cat
class leg
leg --o cat:组合
class car
class wheel
wheel --* car:聚合
class teach
class student
student "n"..>"n" teach
@enduml
-private,#protected,+public,~ package private