-
Notifications
You must be signed in to change notification settings - Fork 0
/
BookSuggestion.puml
62 lines (51 loc) · 1.72 KB
/
BookSuggestion.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
@startuml
Interface Manager
Interface StorageController<T> {
+ T Query()
+ void Add()
+ void Remove()
+ void Update()
}
class EmotionChecklist {
+ String toPrompt()
}
enum BookSuggestionManualRequestType {
Normal
NewCategory
EmotionBased
}
struct BookSuggestionManualRequest {
+ BookSuggestionManualRequestType type
+ String prompt
}
BookSuggestionManualRequest "1" o-- "1" BookSuggestionManualRequestType : contains
EmotionChecklist --o BookSuggestionManualRequest : use
struct BookSuggestion {}
class BookSuggestionTask {}
class BookSuggestionWorker {
- BookSuggestionTask task
- void run()
}
BookSuggestionWorker --- BookSuggestion : use
class BookSuggestionScheduler {
+ BookSuggestionWorker worker
- void invoke()
}
BookSuggestionScheduler "1" o-- "1" BookSuggestionWorker : contains
class BookSuggestionManager implements Manager {
+ {static} void InvokeBookSuggestionManual(BookSuggestionManualRequest req)
}
BookSuggestionManager --- BookSuggestionManualRequest : use
BookSuggestionManager --- BookSuggestionScheduler : use
BookSuggestionManager --- BookSuggestionStorageController : use
class BookSuggestionStorageController<T> implements StorageController {}
BookSuggestionStorageController --- BookSuggestion : use
class BookSuggestionSubSystem {
+ {static} BookSuggestionManager bookSuggestionManager
+ {static} BookSuggestionStorageController bookSuggestionStorageController
+ List<BookSuggestionScheduler> bookSuggestionSchedulers
}
BookSuggestionSubSystem "1" o-- "1" BookSuggestionManager : contains
BookSuggestionSubSystem "1" o-- "1" BookSuggestionStorageController : contains
BookSuggestionSubSystem "1" o-- "N" BookSuggestionScheduler : contains
@enduml