39 lines
988 B
Plaintext
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 |