forked from iluwatar/java-design-patterns
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfacade.urm.puml
More file actions
57 lines (57 loc) · 1.35 KB
/
Copy pathfacade.urm.puml
File metadata and controls
57 lines (57 loc) · 1.35 KB
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
45
46
47
48
49
50
51
52
53
54
55
56
57
@startuml
package com.iluwatar.facade {
class DwarvenTunnelDigger {
+ DwarvenTunnelDigger()
+ name() : String
+ work()
}
class DwarvenGoldmineFacade {
- workers : List<DwarvenMineWorker>
+ DwarvenGoldmineFacade()
+ digOutGold()
+ endDay()
- makeActions(workers : Collection<DwarvenMineWorker>, actions : Action[]) {static}
+ startNewDay()
}
class DwarvenGoldDigger {
+ DwarvenGoldDigger()
+ name() : String
+ work()
}
class App {
+ App()
+ main(args : String[]) {static}
}
abstract class DwarvenMineWorker {
+ DwarvenMineWorker()
- action(action : Action)
+ action(actions : Action[])
+ goHome()
+ goToMine()
+ goToSleep()
+ name() : String {abstract}
+ wakeUp()
+ work() {abstract}
}
class DwarvenCartOperator {
+ DwarvenCartOperator()
+ name() : String
+ work()
}
~enum Action {
+ GO_HOME {static}
+ GO_TO_MINE {static}
+ GO_TO_SLEEP {static}
+ WAKE_UP {static}
+ WORK {static}
+ valueOf(name : String) : Action {static}
+ values() : Action[] {static}
}
}
DwarvenGoldmineFacade --+ DwarvenMineWorker
DwarvenGoldmineFacade --> "-workers" DwarvenMineWorker
Action ..+ DwarvenMineWorker
DwarvenTunnelDigger --|> DwarvenMineWorker
DwarvenGoldDigger --|> DwarvenMineWorker
DwarvenCartOperator --|> DwarvenMineWorker
@enduml