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

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

            // Quack
            // Flying

            mallard.QuackBehavior = new MuteQuack();
            mallard.FlyBehavior   = new FlyNoWay();
            mallard.PerformQuack();
            mallard.PerformFly();

            // Silence
            // Can't Fly

            Console.ReadLine();
        }
Ejemplo n.º 2
0
        private static void Main(string[] args)
        {
            //The startegy pattern: defines a family of algorithms, encapsulates each one, and makes them interchangeable.
            //Strategy lets the algorithm vary independently from clients that use it.
            Duck mallard = new MallardDuck();

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

            Duck modelDuck = new ModelDuck();

            modelDuck.PerformQuack();
            modelDuck.PerformFly();

            modelDuck.SetFlyBehavior(new FlyRocketPowered());
            modelDuck.PerformFly();
            Console.ReadLine();
        }