#467 data-bus: etc: add urm diagrams
This commit is contained in:
parent
3fd6887975
commit
b5bdf2d7d7
BIN
data-bus/etc/data-bus.urm.png
Normal file
BIN
data-bus/etc/data-bus.urm.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 60 KiB |
77
data-bus/etc/data-bus.urm.puml
Normal file
77
data-bus/etc/data-bus.urm.puml
Normal file
@ -0,0 +1,77 @@
|
||||
@startuml
|
||||
package com.iluwatar.databus {
|
||||
class AbstractDataType {
|
||||
- dataBus : DataBus
|
||||
+ AbstractDataType()
|
||||
+ getDataBus() : DataBus
|
||||
+ setDataBus(dataBus : DataBus)
|
||||
}
|
||||
~class App {
|
||||
- log : Logger {static}
|
||||
~ App()
|
||||
+ main(args : String[]) {static}
|
||||
}
|
||||
class DataBus {
|
||||
- INSTANCE : DataBus {static}
|
||||
- listeners : Set<Member>
|
||||
+ DataBus()
|
||||
+ getInstance() : DataBus {static}
|
||||
+ publish(event : DataType)
|
||||
+ subscribe(member : Member)
|
||||
+ unsubscribe(member : Member)
|
||||
}
|
||||
interface DataType {
|
||||
+ getDataBus() : DataBus {abstract}
|
||||
+ setDataBus(DataBus) {abstract}
|
||||
}
|
||||
interface Member {
|
||||
+ accept(DataType) {abstract}
|
||||
}
|
||||
}
|
||||
package com.iluwatar.databus.data {
|
||||
class MessageData {
|
||||
- message : String
|
||||
+ MessageData(message : String)
|
||||
+ getMessage() : String
|
||||
+ of(message : String) : DataType {static}
|
||||
}
|
||||
class StartingData {
|
||||
- when : LocalDateTime
|
||||
+ StartingData(when : LocalDateTime)
|
||||
+ getWhen() : LocalDateTime
|
||||
+ of(when : LocalDateTime) : DataType {static}
|
||||
}
|
||||
class StoppingData {
|
||||
- when : LocalDateTime
|
||||
+ StoppingData(when : LocalDateTime)
|
||||
+ getWhen() : LocalDateTime
|
||||
+ of(when : LocalDateTime) : DataType {static}
|
||||
}
|
||||
}
|
||||
package com.iluwatar.databus.members {
|
||||
class CounterMember {
|
||||
- log : Logger {static}
|
||||
- name : String
|
||||
+ CounterMember(name : String)
|
||||
+ accept(data : DataType)
|
||||
- handleEvent(data : MessageData)
|
||||
}
|
||||
class StatusMember {
|
||||
- id : int
|
||||
- log : Logger {static}
|
||||
+ StatusMember(id : int)
|
||||
+ accept(data : DataType)
|
||||
- handleEvent(data : StartingData)
|
||||
- handleEvent(data : StoppingData)
|
||||
}
|
||||
}
|
||||
AbstractDataType --> "-dataBus" DataBus
|
||||
DataBus --> "-INSTANCE" DataBus
|
||||
DataBus --> "-listeners" Member
|
||||
AbstractDataType ..|> DataType
|
||||
MessageData --|> AbstractDataType
|
||||
StartingData --|> AbstractDataType
|
||||
StoppingData --|> AbstractDataType
|
||||
CounterMember ..|> Member
|
||||
StatusMember ..|> Member
|
||||
@enduml
|
Loading…
x
Reference in New Issue
Block a user