Beispiel #1
0
        static void Main(string[] args)
        {
            /*Cada uno de los siguientes patos comparten comportamientos, pero no todos lo
             * aplican de la misma manera.
             *
             * La herencia no es una opción debido a que cada nueva especie de pato agregado
             * debería sobrescribir su comportamiento y si se quisiera hacer una modificación
             * en el comportamiento todos deberían ser modificados
             * o alguien podría modificar el comportamiento de la clase padre y afectar a todos
             * los demás,
             *
             * vamos a la clase Duck en la carpeta Ducks para ver cómo funciona*/

            AlabioDuck aliboDuck = new AlabioDuck();

            aliboDuck.Display();
            Console.WriteLine("presione cualquier tecla para continuar...");
            Console.ReadLine();
            MallardDuck mallardDuck = new MallardDuck();

            mallardDuck.Display();
            Console.WriteLine("presione cualquier tecla para continuar...");
            Console.ReadLine();
            RubberDuck rubberDuck = new RubberDuck();

            rubberDuck.Display();
            Console.WriteLine("presione cualquier tecla para continuar...");
            Console.ReadLine();
            WoodDuck woodDuck = new WoodDuck();

            woodDuck.Display();
            Console.WriteLine("FIN \npresione cualquier tecla para continuar...");
            Console.ReadLine();
            /*Cada uno de estos patos define su comportamiento, entra a cualquier clase de los patos para verlo*/
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            BaseDuck duck = new OrdinaryDuck();

            duck.Display();
            duck = new WoodDuck();
            duck.Display();
            duck = new ExoticDuck();
            duck.Display();
            duck.setFlyBehavior(new DoNotFly());
            duck.Display();
            Console.Read();
        }
Beispiel #3
0
        static void Main(string[] args)
        {
            // 这种策略模式,必须知道有什么功能,否则出现错误
            // 行为都是一样的,虽然行为是组合的,但感觉就不是那么会事
            Duck woodduck = new WoodDuck();

            woodduck.Display();
            //woodduck.FlyBehavior.Fly();
            //woodduck.Quackbehavior.Quack();
            woodduck.SweepingBehavior.Swimming();

            RubberDuck rubberDuck = new RubberDuck();

            rubberDuck.Display();
            rubberDuck.SweepingBehavior.Swimming();
            Console.ReadLine();
        }