46 lines
1.1 KiB
Plaintext
46 lines
1.1 KiB
Plaintext
|
@startuml
|
||
|
package com.iluwatar.compositeentity {
|
||
|
class App {
|
||
|
+ App(message: String, signal: String)
|
||
|
+ main(args : String[]) {static}
|
||
|
}
|
||
|
class CompositeEntity{
|
||
|
- console : ConsoleCoarseGrainedObject
|
||
|
+ CompositeEntity()
|
||
|
+ setData(message: String, signal: String)
|
||
|
+ getData()
|
||
|
+ init()
|
||
|
}
|
||
|
abstract CoarseGrainedObject{
|
||
|
- dependentObjects : DependentObject[]
|
||
|
+ CoarseGrainedObject()
|
||
|
+ setData(data: T[])
|
||
|
+ getData()
|
||
|
}
|
||
|
abstract DependentObject{
|
||
|
- data : T
|
||
|
+ DependentObject()
|
||
|
+ setData(data: T)
|
||
|
+ getData()
|
||
|
}
|
||
|
class ConsoleCoarseGrainedObject{
|
||
|
+ ConsoleCoarseGrainedObject()
|
||
|
+ getData()
|
||
|
+ init()
|
||
|
}
|
||
|
class MessageDependentObject{
|
||
|
+ MessageDependentObject()
|
||
|
}
|
||
|
class SignalDependentObject{
|
||
|
+ SignalDependentObject()
|
||
|
}
|
||
|
|
||
|
MessageDependentObject --|> DependentObject
|
||
|
SignalDependentObject --|> DependentObject
|
||
|
ConsoleCoarseGrainedObject --|> CoarseGrainedObject
|
||
|
CompositeEntity -right-> ConsoleCoarseGrainedObject
|
||
|
CoarseGrainedObject "1" o--> "0.." DependentObject
|
||
|
App .right.> CompositeEntity
|
||
|
}
|
||
|
@enduml
|