コード例 #1
0
        public static void TestBuilder()
        {
            ConstructorPartesAbstracto simple       = new ConstructorSimple();
            ConstructorPartesAbstracto favorable    = new ConstructorFavorable();
            ConstructorPartesAbstracto desfavorable = new ConstructorDesfavorable();
            ConstructorPartesAbstracto mixto        = new ConstructorMixto();



            Calle calle = new Calle(100, 4, 50);
            Plaza plaza = new Plaza("", 25, 20, 5);

            plaza.Calle = calle;


            Casa casa = new Casa(1, 20, 3);

            casa.Calle = calle;


            Plaza plaza2 = new Plaza("", 25, 20, 5);

            plaza2.Calle = calle;

            Casa casa2 = new Casa(2, 20, 3);

            casa2.Calle = calle;

            Bombero bombero = new Bombero(null);



            casa.Constructor   = mixto;
            casa2.Constructor  = simple;
            plaza.Constructor  = favorable;
            plaza2.Constructor = desfavorable;

            Console.ForegroundColor = ConsoleColor.Red;
            bombero.apagarIncendio(plaza, plaza.Calle);
            Console.ForegroundColor = ConsoleColor.Cyan;
            bombero.apagarIncendio(casa, casa.Calle);
            Console.ForegroundColor = ConsoleColor.Green;
            bombero.apagarIncendio(plaza2, plaza2.Calle);
            Console.ForegroundColor = ConsoleColor.Magenta;
            bombero.apagarIncendio(casa2, casa2.Calle);
        }
コード例 #2
0
        public static void TestDecorator()
        {
            Plaza plaza = new Plaza("Bera", 40, 7, 10);
            Casa  casa  = new Casa(2, 40, 3);

            Bombero bombero = new Bombero(null);
            Calle   calle   = new Calle(100, 4, 50);

            plaza.Calle = calle;
            casa.Calle  = calle;
            bombero.apagarIncendio(plaza, plaza.Calle);
        }
コード例 #3
0
        public override void apagarIncendio(ILugar lugar, Calle calle)
        {
            if (fabrica == null)
            {
                fabrica = new  FabricaDeBombero();
            }

            Bombero bombero = (Bombero)fabrica.crearHeroe();

            bombero.Herramienta = fabrica.crearHerramienta();
            bombero.Vehiculo    = fabrica.crearVehiculo();

            bombero.apagarIncendio(lugar, calle);
        }
コード例 #4
0
        public static void rum()
        {
            Console.WriteLine("Creando plaza...");
            Console.WriteLine("-----------------------------------------------------------");
            Director director = new Director(new BuilderMixto());
            Calle    calle    = new Calle("pedriel", 100, 4, 50);
            Lugar    plaza    = new Plaza(director, "America", 8, 40, calle);

            Console.WriteLine("");

            Console.WriteLine("Apagando incendio en la Plaza con diferentes dificultades a traves de la cracion por abricas de decorados");
            Console.WriteLine("");

            IStrategyDeApagadoDeIncendio estrategiaDeApagado1 = new Secuencial();
            IStrategyDeApagadoDeIncendio estrategiaDeApagado2 = new Escalera();
            IStrategyDeApagadoDeIncendio estrategiaDeApagado3 = new Espiral();

            Bombero bombero = new Bombero(null, plaza, estrategiaDeApagado1);

            bombero.apagarIncendio();
        }