java-design-patterns/strategy/etc/strategy.urm.puml

33 lines
769 B
Plaintext
Raw Normal View History

@startuml
package com.iluwatar.strategy {
class DragonSlayer {
- strategy : DragonSlayingStrategy
+ DragonSlayer(strategy : DragonSlayingStrategy)
+ changeStrategy(strategy : DragonSlayingStrategy)
+ goToBattle()
}
interface DragonSlayingStrategy {
+ execute() {abstract}
}
class App {
+ App()
+ main(args : String[]) {static}
}
class MeleeStrategy {
+ MeleeStrategy()
+ execute()
}
class ProjectileStrategy {
+ ProjectileStrategy()
+ execute()
}
class SpellStrategy {
+ SpellStrategy()
+ execute()
}
}
DragonSlayer --> "-strategy" DragonSlayingStrategy
MeleeStrategy ..|> DragonSlayingStrategy
ProjectileStrategy ..|> DragonSlayingStrategy
SpellStrategy ..|> DragonSlayingStrategy
@enduml