コード例 #1
0
        public static void Execute()
        {
            var garden   = new Garden(5);
            var command1 = new PlantCommand(garden, "drzewo");
            var command2 = new RemoveCommand(garden, "drzewo");
            var command3 = new RemoveCommand(garden, "słonecznik");
            var command4 = new PlantCommand(garden, "słonecznik");

            var plantTreeButton       = new CommandsInvoker(command1);
            var removeTreeButton      = new CommandsInvoker(command2);
            var removeSunflowerButton = new CommandsInvoker(command3);
            var plantSunflowerButton  = new CommandsInvoker(command4);

            Console.WriteLine(garden);

            plantTreeButton.Invoke();
            plantTreeButton.Invoke();
            plantSunflowerButton.Invoke();
            Console.WriteLine(garden);
            removeTreeButton.Invoke();
            Console.WriteLine(garden);
            removeTreeButton.Invoke();
            removeTreeButton.Invoke();
            Console.WriteLine(garden);

            CommandsInvoker.Undo();
            CommandsInvoker.Undo();
            //CommandsInvoker.Undo();
            Console.WriteLine(garden);
        }
コード例 #2
0
 public RemoveCommand(Garden garden, string plant)
 {
     _garden = garden;
     _plant  = plant;
 }
コード例 #3
0
 public PlantCommand(Garden garden, string plant)
 {
     _garden = garden;
     _plant  = plant;
 }