Esempio n. 1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Strategy Pattern");

            var rubberDuck   = new Duck(new CannotFly(), new CannotQuack(), new CannotSwim());
            var muteDuck     = new Duck(new CanFly(), new CannotQuack(), new CanSwim());
            var disabledDuck = new Duck(new CannotFly(), new CanQuack(), new CannotSwim());

            System.Console.WriteLine("Rubber duck behaviour.");
            rubberDuck.Fly();
            rubberDuck.Swim();
            rubberDuck.Quack();

            System.Console.WriteLine("Mute duck behaviour.");
            muteDuck.Fly();
            muteDuck.Swim();
            muteDuck.Quack();

            System.Console.WriteLine("Disabled duck behaviour.");
            disabledDuck.Fly();
            disabledDuck.Swim();
            disabledDuck.Quack();

            Console.ReadLine();
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            Duck cityDuck = new Duck(null, new SwimUnderWater(), new FlyVeryHigh());

            cityDuck.Fly();
            cityDuck.Swim();
            Console.ReadLine();
        }
Esempio n. 3
0
 private static void DisplayProperties(Duck duck)
 {
     Console.WriteLine(duck);
     duck.Swim();
     duck.TryToFly();
     duck.MakeSound();
     Console.WriteLine();
 }
Esempio n. 4
0
        static void Main(string[] args)
        {
            Duck cityDuck    = new Duck(new NoFlying(), new ShortSwiming(), new ShortWalking());
            Duck countryDuck = new Duck(new HighFlying(), new NoSwiming(), new RunWalking());
            Duck rubberDuck  = new Duck(new NoFlying(), new PhelpsSwiming(), new NoWalking());

            Console.WriteLine("City Duck say something!");
            cityDuck.Fly();
            cityDuck.Walk();
            cityDuck.Swim();
            Console.WriteLine("Country Duck SPEAK!");
            countryDuck.Fly();
            countryDuck.Walk();
            countryDuck.Swim();
            Console.WriteLine("Rubber Duck? Ruuuuubbbber Duuuuck?");
            rubberDuck.Fly();
            rubberDuck.Walk();
            rubberDuck.Swim();
        }