package com.iluwatar; /** * * In Command pattern actions are objects that can be executed and undone. The * commands in this example are spells cast by the wizard on the goblin. * */ public class App { public static void main(String[] args) { Wizard wizard = new Wizard(); Goblin goblin = new Goblin(); goblin.printStatus(); wizard.castSpell(new ShrinkSpell(), goblin); goblin.printStatus(); wizard.castSpell(new InvisibilitySpell(), goblin); goblin.printStatus(); wizard.undoLastSpell(); goblin.printStatus(); } }