java-design-patterns/template-method/etc/template-method.urm.puml
2019-12-07 18:03:49 +02:00

39 lines
988 B
Plaintext

@startuml
package com.iluwatar.templatemethod {
class App {
+ App()
+ main(args : String[]) {static}
}
class HalflingThief {
- method : StealingMethod
+ HalflingThief(method : StealingMethod)
+ changeMethod(method : StealingMethod)
+ steal()
}
class HitAndRunMethod {
- LOGGER : Logger {static}
+ HitAndRunMethod()
# confuseTarget(target : String)
# pickTarget() : String
# stealTheItem(target : String)
}
abstract class StealingMethod {
- LOGGER : Logger {static}
+ StealingMethod()
# confuseTarget(String) {abstract}
# pickTarget() : String {abstract}
+ steal()
# stealTheItem(String) {abstract}
}
class SubtleMethod {
- LOGGER : Logger {static}
+ SubtleMethod()
# confuseTarget(target : String)
# pickTarget() : String
# stealTheItem(target : String)
}
}
HalflingThief --> "-method" StealingMethod
HitAndRunMethod --|> StealingMethod
SubtleMethod --|> StealingMethod
@enduml