mirror of
https://github.com/tiennm99/java-design-patterns.git
synced 2026-05-15 14:59:25 +00:00
23 lines
696 B
Java
23 lines
696 B
Java
package com.iluwatar;
|
|
|
|
/**
|
|
*
|
|
* Strategy (DragonSlayingStrategy) encapsulates the algorithm to use. The
|
|
* object (DragonSlayer) can alter its behavior by changing its strategy.
|
|
*
|
|
*/
|
|
public class App {
|
|
|
|
public static void main(String[] args) {
|
|
System.out.println("Green dragon spotted ahead!");
|
|
DragonSlayer dragonSlayer = new DragonSlayer(new MeleeStrategy());
|
|
dragonSlayer.goToBattle();
|
|
System.out.println("Red dragon emerges.");
|
|
dragonSlayer.changeStrategy(new ProjectileStrategy());
|
|
dragonSlayer.goToBattle();
|
|
System.out.println("Black dragon lands before you.");
|
|
dragonSlayer.changeStrategy(new SpellStrategy());
|
|
dragonSlayer.goToBattle();
|
|
}
|
|
}
|