Esempio n. 1
0
        static void Main(string[] args)
        {
            Duck mallard = new MallardDuck();

            mallard.PerformQuack();
            mallard.PerformFly();

            Duck model = new ModelDuck();

            model.PerformFly();
            model.FlyBehavior = new FlyRocketPowered();
            model.PerformFly();
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            Duck mallard = new MallardDuck();

            mallard.PerformQuack();
            mallard.PerformFly();
            Console.WriteLine("----------");

            Duck modelDuck = new ModelDuck();

            modelDuck.PerformFly();
            modelDuck.setFly(new FlyRocket());
            modelDuck.PerformQuack();
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            Console.WriteLine("-> Testing different ducks behaviors.");
            var mallard = new MallardDuck();

            mallard.Display();
            mallard.PerformQuack();
            mallard.PerformFly();

            var redhead = new RedheadDuck();

            redhead.Display();
            redhead.PerformQuack();
            redhead.PerformFly();

            var rubber = new RubberDuck();

            rubber.Display();
            rubber.PerformQuack();
            rubber.PerformFly();

            var decoy = new DuckDecoy();

            decoy.Display();
            decoy.PerformQuack();
            decoy.PerformFly();

            Console.WriteLine();
            Console.WriteLine("-> Test runtime behavior change.");
            var model = new ModelDuck();

            model.Display();
            model.PerformQuack();
            model.PerformFly();

            model.FlyBehavior = new FlyRocketPowered();
            Console.WriteLine("Fly behavior of ModelDuck was changed and now it's...");
            model.PerformFly();

            Console.WriteLine();
            Console.WriteLine("-> Class not in duck hierarchy using duck behavior.");
            var soundSynthesizer = new SoundSynthesizer();

            soundSynthesizer.DuckSound();

            Console.WriteLine();
            Console.WriteLine("Press any key to continue. . .");
            Console.ReadKey();
        }
Esempio n. 4
0
        private static void Main(string[] args)
        {
            var mallard = new MallardDuck();

            mallard.PerformQuack();
            mallard.PerformFly();

            Console.WriteLine();

            var model = new ModelDuck();

            model.PerformFly();
            model.FlyBehavior = new FlyRocketPowered();
            model.PerformFly();
        }
Esempio n. 5
0
        static void Main(string[] args)
        {
            Duck mallard = new MallardDuck();
            Duck rubber  = new RubberDuck();

            mallard.display();
            mallard.quack();
            mallard.swim();
            mallard.fly();

            rubber.display();
            rubber.quack();
            rubber.swim();
            rubber.fly();
        }
Esempio n. 6
0
        static void Main(string[] args)
        {
            Duck mallardDuck = new MallardDuck();

            mallardDuck.PerformQuack();
            mallardDuck.PerformFly();

            Duck modelDuck = new ModelDuck();

            modelDuck.PerformFly();
            modelDuck.SetFlyBehaviour(new FlyRemoteControl());
            modelDuck.PerformFly();

            Console.ReadKey();
        }
Esempio n. 7
0
        static void Main(string[] args)
        {
            Duck mallard = new MallardDuck();

            mallard.Display();
            mallard.PerformQuack();
            mallard.PerformFly();

            Duck model = new ModelDuck();

            model.PerformFly();
            model.SetFlyBehavior(new FlyRocketPowered());
            model.PerformFly();

            Console.ReadKey();
        }
Esempio n. 8
0
        static void Main(string[] args)
        {
            Duck duck = new MallardDuck();

            duck.Dance();
            duck = new RedHeadDuck();
            duck.Dance();
            duck = new RubberDuck();
            duck.Dance();
            duck = new DecoyDuck();
            duck.Dance();

            duck = new MallardDuck();
            duck.Fly();
            duck.Fly();
            duck.SetFlightBehaviour(new FlyWithWings());
            duck.Fly();
        }
Esempio n. 9
0
        static void Main(string [] args)
        {
            MallardDuck mallardDuck = new MallardDuck();

            PlayWithDuck(mallardDuck);
            RedheadDuck redheadDuck = new RedheadDuck();

            PlayWithDuck(redheadDuck);
            RubberDuck rubberDuck = new RubberDuck();

            PlayWithDuck(rubberDuck);
            DecoyDuck decoyDuck = new DecoyDuck();

            PlayWithDuck(decoyDuck);
            ModelDuck modelDuck = new ModelDuck();

            PlayWithDuck(modelDuck);
            modelDuck.SetFlyBehavior(FlyBehavior.FlyWithWingsAction());
            PlayWithDuck(modelDuck);
        }
Esempio n. 10
0
        static void Main(string[] args)
        {
            // Create Instances of Strategies and Contexts.
            Squeak theSqueak = new Squeak ();
            Quack theQuack = new Quack ();
            MuteQuack theMuteQuack = new MuteQuack ();
            FlyWithWings theFly = new FlyWithWings ();
            Flyless theFlyless = new Flyless ();

            Duck magicDuck = new MallardDuck(theQuack, theFly);
            Duck rorschachDuck = new RedheadDuck (theMuteQuack, theFlyless);

            // Call functions.
            magicDuck.display();
            magicDuck.performQuack();
            magicDuck.performFly();
            Console.Out.WriteLine ();

            rorschachDuck.display();
            rorschachDuck.performQuack();
            rorschachDuck.performFly();
            Console.Out.WriteLine ();

            // Assign new Strategies to Instances.
            magicDuck.QuackBehaviour = theSqueak;
            magicDuck.FlyBehaviour = theFlyless;
            rorschachDuck.QuackBehaviour = theQuack;
            rorschachDuck.FlyBehaviour = theFly;

            // Call functions.
            magicDuck.display();
            magicDuck.performQuack();
            magicDuck.performFly();
            Console.Out.WriteLine ();

            rorschachDuck.display();
            rorschachDuck.performQuack();
            rorschachDuck.performFly();

            Console.In.ReadLine();
        }
Esempio n. 11
0
        static void Main(string[] args)
        {
            // Create Instances of Strategies and Contexts.
            Squeak       theSqueak    = new Squeak();
            Quack        theQuack     = new Quack();
            MuteQuack    theMuteQuack = new MuteQuack();
            FlyWithWings theFly       = new FlyWithWings();
            Flyless      theFlyless   = new Flyless();

            Duck magicDuck     = new MallardDuck(theQuack, theFly);
            Duck rorschachDuck = new RedheadDuck(theMuteQuack, theFlyless);

            // Call functions.
            magicDuck.display();
            magicDuck.performQuack();
            magicDuck.performFly();
            Console.Out.WriteLine();

            rorschachDuck.display();
            rorschachDuck.performQuack();
            rorschachDuck.performFly();
            Console.Out.WriteLine();

            // Assign new Strategies to Instances.
            magicDuck.QuackBehaviour     = theSqueak;
            magicDuck.FlyBehaviour       = theFlyless;
            rorschachDuck.QuackBehaviour = theQuack;
            rorschachDuck.FlyBehaviour   = theFly;

            // Call functions.
            magicDuck.display();
            magicDuck.performQuack();
            magicDuck.performFly();
            Console.Out.WriteLine();

            rorschachDuck.display();
            rorschachDuck.performQuack();
            rorschachDuck.performFly();

            Console.In.ReadLine();
        }