類別圖:光的三原色 (狀態模式)

Example: 光的三原色


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
@startuml
class RgbMonitor {
-IColorState _state
-BlackColorState _blackColorState
-RedColorState _redColorState
-GreenColorState _greenColorState
-BlueColorState _blueColorState
-YellowColorState _yellowColorState
-MagentaColorState _magentaColorState
-CyanColorState _cyanColorState
-WhiteColorState _whiteColorState
+Color Display()
+void TurnOnLight(RgbColor rgbColor)
+void TurnOffLight(RgbColor rgbColor)
+void ToBlackColorState()
+void ToRedColorState()
+void ToGreenColorState()
+void ToBlueColorState()
+void ToYellowColorState()
+void ToMagentaColorState()
+void ToCyanColorState()
+void ToWhiteColorState()
}

interface IColorState {
+Color Display()
+void TurnOnRedLight()
+void TurnOnGreenLight()
+void TurnOnBlueLight()
+void TurnOffRedLight()
+void TurnOffGreenLight()
+void TurnOffBlueLight()
}

RgbMonitor *-- IColorState
IColorState <|-- BlackColorState
IColorState <|-- RedColorState
IColorState <|-- GreenColorState
IColorState <|-- BlueColorState
IColorState <|-- YellowColorState
IColorState <|-- MagentaColorState
IColorState <|-- CyanColorState
IColorState <|-- WhiteColorState
@enduml

ʕ •ᴥ•ʔ:若不熟悉 UML 類別圖,可參考UML類別圖說明

Share