-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathClassDiagram.puml
148 lines (100 loc) · 2.26 KB
/
ClassDiagram.puml
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
@startuml
'https://plantuml.com/class-diagram
package roborally{
package controller{
class AppController
class CheckPoint
class ConveyorBelt
abstract class FieldAction
class GameController
class Gear
class MultiThreading
FieldAction<|--ConveyorBelt
FieldAction<|--Gear
FieldAction<|--CheckPoint
AppController --> GameController
}
package fileaccess{
package filemodel{
class AllPlayersTemplate
class BoardTemplate
class PlayerTemplate
class ProgramTemplate
class SaveTemplate
class SpaceTemplate
}
class Adapter
class IOUtil
class LoadBoard
LoadBoard -> Adapter
LoadBoard --> SaveTemplate
LoadBoard --> SpaceTemplate
LoadBoard --> PlayerTemplate
LoadBoard --> AllPlayersTemplate
LoadBoard --> BoardTemplate
LoadBoard --> ProgramTemplate
}
package model{
class Board
enum Command
class CommandCard
class CommandCardField
enum Heading
enum Rotation
class Player
class Space
enum Phase
Board-->Space
Board-->Player
Player --> CommandCardField
CommandCardField --> CommandCard
}
package view{
class BoardView
class CardFieldView
class PlayersView
class PlayerView
class RoboRallyMenuBar
class SpaceView
interface ViewObserver
CardFieldView <-- PlayerView
PlayerView <-- PlayersView
PlayersView <-- BoardView
SpaceView <-- BoardView
ViewObserver <|- BoardView
ViewObserver <|- CardFieldView
ViewObserver <|- PlayersView
ViewObserver <|- PlayerView
ViewObserver <|- SpaceView
}
package webApplication{
package api{
package webcontroller{
class WebController
}
package service{
interface IWebService
class WebService
IWebService <|-- WebService
}
class Client
class SpringAPIApplication
WebController --> IWebService
}
}
class RoboRally
class StartRoboRally
}
StartRoboRally --> RoboRally
RoboRally --> AppController
RoboRally -> RoboRallyMenuBar
RoboRally --> BoardView
'RoboRallyMenuBar --> AppController
AppController --> IWebService
Client <- AppController
Client <- MultiThreading
MultiThreading <- AppController
AppController --> SpringAPIApplication
AppController --> Board
AppController ---> LoadBoard
@enduml