Esempio n. 1
0
        //*********************************************************************************************************************

        //EN ESTA PRUEBA HAY VARIOS PATRONES QUE TRABAJAN EN CONJUNTAMENTE : BUILDER, FACTORY METHOD, DECORATOR, STRATEGY
        public static void pruebaPatronDecoratorYFactoryMethod()
        {
            //PRUEBA DE PATRON DECORATOR EN CONJUNTO CON EL PATRON FACTORY METHOD, AL MOMENTO DE ASIGNAR SECTORES EN LA MATRIZ, SE EVALUA SI PUEDE TENER DECORADOS

            IEstrategy estrategia = new Escalera();
            Bombero    objBombero = new Bombero(estrategia);

            //CALLE CON CAUDAL DE AGUA PARA APAGAR EL INCENDIO
            Calle objCalle = new Calle();

            //EN LA CLASE PLAZA, SE ENCARGA DE CREAR UNA MATRIZ DE SECTORES Y DECORARLOS SEGUN SU PROBABILIDAD

            ConstructorDesfaborable objConstructor = new ConstructorDesfaborable();

            objConstructor.setTemperatura(30);
            objConstructor.setViento(50);
            objConstructor.setCantidadPersonas(20);

            //PASANDOLE EL CONSTRUCTOR CONCRETO DEL PATRON BUILDER
            Plaza objPlaza = new Plaza(objConstructor);

            objPlaza.SetSuperficieMetrosCuadrados(9);
            objCalle.SetCaudalAguaPorMinuto(50);

            //SE LLAMA AL METODO APAGARINCENDIO() DEL BOMBERO Y SE LE PASA POR PARAMETRO LA CALLE Y EL LUGAR
            objBombero.ApagarIncendio(objPlaza, objCalle);
        }
        public static void rum()
        {
            Console.WriteLine("------------------------------------");
            Console.WriteLine("             TESTING");
            Console.WriteLine("------------------------------------");
            Console.WriteLine("");
            Console.WriteLine("Creando un bombero y calle...");
            Console.WriteLine("");
            Calle calle = new Calle("pedriel", 100, 4, 50);

            Bombero bombero = new Bombero(null);

            bombero.SetNombre("Juan Carlos");
            Director director = new Director(new BuilderSimple());

            Console.WriteLine("Bombero: " + bombero.getNombre());
            Console.WriteLine("Calle: " + calle.getNombre());
            Console.WriteLine("------------------------------------------------");
            Console.WriteLine("");

            bombero.setLugar(new Casa(director, 4, 20, 5, calle));
            bombero.setEstrategiaDeApagado(new Secuencial());
            bombero.apagarIncendio();

            bombero.setLugar(new Plaza(director, "America", 8, 40, calle));
            bombero.setEstrategiaDeApagado(new Escalera());
            bombero.apagarIncendio();


            //Console.WriteLine("Que desea Apagar:");
            //Console.WriteLine("1) Casa");
            //Console.WriteLine("2) Plaza");
            //Console.Write("eliga: ");
            //int opcion = int.Parse(Console.ReadLine());
            //switch (opcion) {
            //    case 1: { bombero.setLugar(new Casa(director, 4, 20, 5, calle)); break; }
            //    case 2: { bombero.setLugar(new Plaza(director, "America", 8, 40, calle)); break; }
            //}

            //Console.WriteLine("------------------------------------------------");
            //Console.WriteLine("");
            //Console.WriteLine("Que estrategia desea usar:");
            //Console.WriteLine("1) Secuencial");
            //Console.WriteLine("2) Escalera");
            //Console.WriteLine("3) ESpiral");
            //Console.Write("eliga:");
            //int opcion1 = int.Parse(Console.ReadLine());
            //switch (opcion1) {
            //    case 1: { bombero.setEstrategiaDeApagado(new Secuencial()); break; }
            //    case 2: { bombero.setEstrategiaDeApagado(new Escalera()); break; }
            //    case 3: { bombero.setEstrategiaDeApagado(new Espiral()); break; }
            //}

            //Console.WriteLine("--------------------------");
            //Console.WriteLine("Ejecutando .......");
            //Console.WriteLine("");
            //bombero.apagarIncendio();
        }
Esempio n. 3
0
        public IResponsable getPersonal()
        {
            Bombero      responsable = (Bombero)this.responsables[contador];
            IHerramienta herramienta = this.herramientas[contador];
            IVehiculo    vehiculo    = this.vehiculos[contador];

            responsable.setHerramienta(herramienta);
            responsable.setVehiculo(vehiculo);

            contador++;

            return(responsable);
        }
Esempio n. 4
0
        public static void pruebaPatronAbstractFactory()
        {
            //CREANDO LAS FABRICAS CONCRETAS DE CADA HEROE

            IFabricaDeHeroes fabricaPolicias     = new FabricaDePolicias();
            IFabricaDeHeroes fabricaBomberos     = new FabricaDeBomberos();
            IFabricaDeHeroes fabricaElectricista = new FabricaDeElectricistas();
            IFabricaDeHeroes fabricaMedicos      = new FabricaDeMedicos();

            //INVOCANDO AL METODO DE CLASE ESTATICO CREARHEROE QUE RECIBE UNA FABRICA Y SE ENCARGA DE CREAR
            //EL HEROE, EL VEHICULO Y LA HERRAMIENTA PARA ALMACENARLO EN UN CUARTEL Y RETORNAR EL IRESPONSABLE

            //CREANDO CUARTEL
            ICuartel cuartelPolicias = crearHeroe(fabricaPolicias);
            //LE SOLICITAMOS EL IRESPONSABLE(RESPONSABLE CON SU VEHICULO Y HERRAMIENTA) AL CUARTEL
            Policia policiaResponsable = (Policia)cuartelPolicias.getPersonal();

            policiaResponsable.setOrdenPolicial(new OrdenPerseguirDelincuente());
            policiaResponsable.PatrullarCalles(new Plaza());
            Console.WriteLine();

            ICuartel cuartelBomberos    = crearHeroe(fabricaBomberos);
            Bombero  bomberoResponsable = (Bombero)cuartelBomberos.getPersonal();

            bomberoResponsable.setEstrategia(new Escalera());
            bomberoResponsable.ApagarIncendio2(new Plaza(9, new ConstructorSimple()), new Calle(50));
            Console.WriteLine();

            ICuartel     cuartelElectricista     = crearHeroe(fabricaElectricista);
            Electricista electricistaResponsable = (Electricista)cuartelElectricista.getPersonal();
            Plaza        objPlaza = new Plaza();

            objPlaza.SetCantidadFarolas(10);
            electricistaResponsable.Revisar(objPlaza);
            Console.WriteLine();

            ICuartel cuartelMedicos    = crearHeroe(fabricaMedicos);
            Medico   medicoResponsable = (Medico)cuartelMedicos.getPersonal();

            medicoResponsable.setProtocolo(new ProtocoloB());
            medicoResponsable.AtenderInfarto(new Transeunte());
            Console.WriteLine();
        }
Esempio n. 5
0
        //*********************************************************************************************************************
        public static void pruebaPatronStrategy()
        {
            //ESTRATEGIA DE APAGADO DE INCENDIO (PUEDEN SER APAGADO POR ESCALERA - SECUENCIAL - ESPIRAL)
            IEstrategy estrategia = new Escalera();
            //SE LA PASA POR PARAMETRO AL CONSTRUCTOR DE LA CLASE BOMBERO LA ESTRATEGIA
            Bombero objBombero = new Bombero(estrategia);

            //SE CREAN LAS INSTANCIAS DE UNA CALLE Y DE UN LUGAR

            Plaza objPlaza = new Plaza(new ConstructorSimple());

            //SE SETEA EL CAUDAL DE AGUA
            objPlaza.SetSuperficieMetrosCuadrados(16);


            Calle objCalle = new Calle();

            objCalle.SetCaudalAguaPorMinuto(50);

            //SE LLAMA AL METODO APAGARINCENDIO() DEL BOMBERO Y SE LE PASA POR PARAMETRO LA CALLE Y EL LUGAR
            objBombero.ApagarIncendio(objPlaza, objCalle);
        }
Esempio n. 6
0
        //*********************************************************************************************************************
        public static void pruebaPatronObserver()
        {
            //INSTANCIA DE BOMBERO QUE SERA AGREGADO COMO OBSERVADOR DE LAS PLAZAS Y CASAS
            Bombero objBombero1 = new Bombero(new Espiral());

            //INSTANCIA DE CALLE EN COMUN A TODOS LOS LUGARES (PLAZA Y CASAS)
            Calle objCalle = new Calle();

            //SE SETEA EL CAUDAL DE AGUA
            objCalle.SetCaudalAguaPorMinuto(50);


            //INSTANCIAS DE PLAZA Y CASAS
            Plaza objPlaza = new Plaza(objCalle, 4, new ConstructorSimple());
            Casa  objCasa1 = new Casa(objCalle, 9);
            Casa  objCasa2 = new Casa(objCalle, 9);
            Casa  objCasa3 = new Casa(objCalle, 9);
            Casa  objCasa4 = new Casa(objCalle, 9);
            Casa  objCasa5 = new Casa(objCalle, 9);

            //AGREGANDO BOMBERO OBSERVADOR A LA PLAZA
            objPlaza.AgregarObservador(objBombero1);
            //AGREGANDO BOMBERO OBSERVADOR A LAS CASAS Y CAMBIO DE ESTRATEGIA DE APAGADO DE INCENDIO A ESCALERA
            objBombero1.setEstrategia(new Escalera());
            objCasa1.AgregarObservador(objBombero1);
            objCasa2.AgregarObservador(objBombero1);
            objCasa3.AgregarObservador(objBombero1);
            objCasa4.AgregarObservador(objBombero1);
            objCasa5.AgregarObservador(objBombero1);

            //CAMBIO DE ESTADO EN LA PLAZA Y CASAS (SUENA LA ALARMA), NOTIFICA AL BOMBERO OBSERVADOR PARA QUE APAGUE EL INCENDIO
            objPlaza.Chispa();
            objCasa1.Chispa();
            objCasa2.Chispa();
            objCasa3.Chispa();
            objCasa4.Chispa();
            objCasa5.Chispa();
        }
Esempio n. 7
0
        public static void run()
        {
            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");
            Console.WriteLine("");

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

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

            bombero.apagarIncendio();
        }
        // Calle calle = new Calle(100, 4, 60);

        public static void rum()
        {
            Calle    calle    = new Calle("pedriel", 100, 4, 50);
            Bombero  bombero  = new Bombero(null);
            Director director = new Director(new BuilderSimple());

            Lugar casa1 = new Casa(director, 4, 50, 4, calle);
            Lugar casa2 = new Casa(director, 4, 20, 5, calle);
            Lugar casa3 = new Casa(director, 6, 15, 4, calle);
            Lugar casa4 = new Casa(director, 5, 35, 5, calle);
            Lugar casa5 = new Casa(director, 3, 42, 2, calle);

            Lugar plaza = new Plaza(director, "America", 8, 40, calle);

            casa1.agregarObservador(bombero);
            plaza.agregarObservador(bombero);

            casa1.chispa();
            Console.WriteLine("");
            plaza.chispa();

            casa2.chispa();
        }
        //SOBREESCRIBIENDO EL METODO APAGAR INCENDIO


        public override void ApagarIncendio2(ILugar pLugar, Calle pCalle)
        {
            IResponsable bombero   = fabrica.crearHeroe();
            IHerramienta manguera  = fabrica.crearHerramienta();
            IVehiculo    autobomba = fabrica.crearVehiculo();

            //USO DE PATRON SINGLETON
            CuartelDeBomberos cuartel = CuartelDeBomberos.getCuartelBombero();

            //SE AGREGA AL CUARTEL
            cuartel.agregarPersonal(bombero);
            cuartel.agregarHerramienta(manguera);
            cuartel.agregarVehiculo(autobomba);

            //OBTENGO EL BOMBERO RESPONSABLE
            Bombero bomberoResponsable = (Bombero)cuartel.getPersonal();

            //LE ASIGNO UNA ESTRATEGIA
            bomberoResponsable.setEstrategia(new Escalera());

            //DELEGO LA TAREA AL VERDADERO BOMBERO, PASANDO EL ILUGAR Y LA CALLE
            bomberoResponsable.ApagarIncendio2(pLugar, pCalle);
        }
Esempio n. 10
0
 public BomberoSecretario(Bombero pBombero)
 {
     this.bombero = pBombero;
 }
Esempio n. 11
0
        //*********************************************************************************************************************


        public static void pruebaPatronState()
        {
            //PATRON STATE (EL HEROE VA A REALIZAR SU TAREA SI EL VEHICULO NO SE ROMPE EN EL TRAYECTO (METODO CONDUCIR))

            //INSTANCIAS DE CALLES (SE LE PASA POR PARAMETRO EL CAUDAL DE AGUA DISPONIBLE)
            Calle calle3 = new Calle(50);
            Calle calle4 = new Calle(50);
            Calle calle5 = new Calle(50);

            //INSTANCIAS DE LUGARES
            ILugar G = new Plaza(9, new ConstructorSimple());
            ILugar H = new Plaza(9, new ConstructorSimple());
            ILugar I = new Plaza(9, new ConstructorSimple());

            //PATRON ITERATOR CON DENUNCIASPORWHATSAPP

            //CREACION DE LISTA ENLAZADA

            //REFERENCIA DE TIPO MensajeWhatsapp QUE NO CONTIENE NADA
            MensajeWhatsapp listadenunciaWhatsapp = null;

            //DENUNCIAS DE INCENDIO
            listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeIncendio(G, calle3), listadenunciaWhatsapp);
            listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeIncendio(H, calle4), listadenunciaWhatsapp);
            listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeIncendio(I, calle5), listadenunciaWhatsapp);

            //DENUNCIAS NUEVAS DE LA CONSIGNA NUMERO 12 (CHAIN OF RESPONSABILITY)

            //DOS DENUNCIAS DE INFARTOS
            listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeInfarto(new Transeunte()), listadenunciaWhatsapp);

            Passerby    objPasserby = new Passerby(1.2, 1.2, 1.2);
            IInfartable infartable  = new IInfartableAdapter(objPasserby);

            listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeInfarto(infartable), listadenunciaWhatsapp);

            //TRES DENUNCIAS POR ROBO
            listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeRobo(new Plaza()), listadenunciaWhatsapp);
            listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeRobo(new Plaza()), listadenunciaWhatsapp);
            listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeRobo(new Plaza()), listadenunciaWhatsapp);

            //CINCO DENUNCIAS POR LAMPARAS QUEMADAS
            listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(new Plaza()), listadenunciaWhatsapp);
            listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(new Plaza()), listadenunciaWhatsapp);
            listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(new Plaza()), listadenunciaWhatsapp);
            listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(new Plaza()), listadenunciaWhatsapp);
            listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(new Plaza()), listadenunciaWhatsapp);

            //INSTANCIA DE DENUNCIAPORWHATSAPP A LA CUAL SE LE PASA POR PARAMETRO UNA LISTA ENLAZADA
            DenunciasPorWhatsapp denuncia2 = new DenunciasPorWhatsapp(listadenunciaWhatsapp);


            //CADENA DE HEROES

            Manejador m = new Bombero(null, new Escalera(), new Manguera(), new Autobomba());

            m = new Policia(m, new OrdenVozdeAlto(), new Pistola(), new Patrullero());

            m = new Medico(m, new ProtocoloA(), new Desfibrilador(), new Ambulancia());

            m = new Electricista(m, new Buscapolo(), new Camioneta());


            //SE LE PASA COMO PARAMETRO UNA CADENA DE MANEJADORES AL OPERADOR
            //ESTOS HEROES REALIZARAN SU TAREA SI EL VEHICULO NO SE ROMPIO POR EL CAMINIO
            Operador911 objOperador = new Operador911(m);

            objOperador.atenderDenuncias(denuncia2);
        }
Esempio n. 12
0
        //*********************************************************************************************************************

        public static void pruebaPatronSingleton()
        {
            //CREACION DE FABRICA DE CADA HEROE CON SU VEHICULOS Y HERRAMIENTA

            FabricaDeBomberos objFabricaBombero  = new FabricaDeBomberos();
            IResponsable      bomberoResponsable = objFabricaBombero.crearHeroe();
            IVehiculo         vehiculoBombero    = objFabricaBombero.crearVehiculo();
            IHerramienta      herramientaBombero = objFabricaBombero.crearHerramienta();

            FabricaDeElectricistas objFabricaElectricista  = new FabricaDeElectricistas();
            IResponsable           electricistaResponsable = objFabricaElectricista.crearHeroe();
            IVehiculo    vehiculoElectricista = objFabricaElectricista.crearVehiculo();
            IHerramienta herramientaElectrica = objFabricaElectricista.crearHerramienta();

            FabricaDePolicias objFabricaPolicia   = new FabricaDePolicias();
            IResponsable      policiaResponsable  = objFabricaPolicia.crearHeroe();
            IVehiculo         vehiculoPolicial    = objFabricaPolicia.crearVehiculo();
            IHerramienta      herramientaPolicial = objFabricaPolicia.crearHerramienta();

            FabricaDeMedicos objFabricaMedico  = new FabricaDeMedicos();
            IResponsable     medicoResponsable = objFabricaMedico.crearHeroe();
            IVehiculo        vehiculoMedico    = objFabricaMedico.crearVehiculo();
            IHerramienta     herramientaMedica = objFabricaMedico.crearHerramienta();


            //CREACION DE CUARTELES DE LOS HEROES Y SE AGREGA SU PERSONAL RESPONSABLE CORRESPONDIENTE CON SU HERRAMIENTA Y VEHICULO

            //USO DEL METODO ESTATICO DEL PATRON SINGLETON PARA CREAR UNA SOLA INSTANCIA DEL CUARTEL
            CuartelDeBomberos cuartelBomberos = CuartelDeBomberos.getCuartelBombero();

            cuartelBomberos.agregarPersonal(bomberoResponsable);
            cuartelBomberos.agregarVehiculo(vehiculoBombero);
            cuartelBomberos.agregarHerramienta(herramientaBombero);

            //USO DEL METODO ESTATICO DEL PATRON SINGLETON PARA CREAR UNA SOLA INSTANCIA DEL CUARTEL
            CentralElectrica central = CentralElectrica.getCuartelElectricista();

            central.agregarPersonal(electricistaResponsable);
            central.agregarVehiculo(vehiculoElectricista);
            central.agregarHerramienta(herramientaElectrica);

            //USO DEL METODO ESTATICO DEL PATRON SINGLETON PARA CREAR UNA SOLA INSTANCIA DEL CUARTEL
            Comisaria cuartelDePolicia = Comisaria.getCuartelPolicia();

            cuartelDePolicia.agregarPersonal(policiaResponsable);
            cuartelDePolicia.agregarVehiculo(vehiculoPolicial);
            cuartelDePolicia.agregarHerramienta(herramientaPolicial);

            //USO DEL METODO ESTATICO DEL PATRON SINGLETON PARA CREAR UNA SOLA INSTANCIA DEL CUARTEL
            Hospital hospital = Hospital.getHospital();

            hospital.agregarPersonal(medicoResponsable);
            hospital.agregarVehiculo(vehiculoMedico);
            hospital.agregarHerramienta(herramientaMedica);

            //LE SOLICITAMOS A LOS CUARTES CREADOS, LOS HEROES AGREGADOS ANTERIORMENTE Y PROCEDEMOS A LLAMAR SUS METODOS DE ACCION

            IResponsable b1      = cuartelBomberos.getPersonal();
            Bombero      bombero = (Bombero)b1;

            bombero.setEstrategia(new Escalera());
            bombero.ApagarIncendio2(new Plaza(9, new ConstructorSimple()), new Calle(50));
            Console.WriteLine();

            IResponsable b3 = central.getPersonal();

            b3.Revisar(new Plaza());
            Console.WriteLine();

            IResponsable b2      = cuartelDePolicia.getPersonal();
            Policia      policia = (Policia)b2;

            policia.setOrdenPolicial(new OrdenVozdeAlto());
            policia.PatrullarCalles(new Plaza());
            Console.WriteLine();

            IResponsable b4     = hospital.getPersonal();
            Medico       medico = (Medico)b4;

            medico.setProtocolo(new ProtocoloA());
            medico.AtenderInfarto(new Transeunte());
            Console.WriteLine();
        }
Esempio n. 13
0
        //*********************************************************************************************************************

        public static void pruebaPatronIterator()
        {
            //ESTRATEGIA DE APAGADO, UN BOMBERO Y UN SECRETARIO QUE RECIBE LA DENUNCIA PARA ASIGNARSELA A UN BOMBERO

            IEstrategy estrategia = new Escalera();
            Bombero    objBombero = new Bombero(estrategia);

            objBombero.setVehiculo(new Ambulancia());
            objBombero.setHerramienta(new Manguera());

            BomberoSecretario secretario = new BomberoSecretario(objBombero);


            //INSTANCIAS DE CALLES (SE LE PASA POR PARAMETRO EL CAUDAL DE AGUA DISPONIBLE)
            Calle calle1 = new Calle(50);
            Calle calle2 = new Calle(50);
            Calle calle3 = new Calle(50);
            Calle calle4 = new Calle(50);
            Calle calle5 = new Calle(50);
            Calle calle6 = new Calle(50);

            // INSTANCIAS DE LUGARES
            ILugar A = new Plaza();
            ILugar B = new Plaza(calle1, 9, new ConstructorSimple());
            ILugar C = new Plaza();
            ILugar D = new Plaza();
            ILugar E = new Plaza();
            ILugar F = new Plaza(calle2, 9, new ConstructorSimple());
            ILugar G = new Plaza(9, new ConstructorSimple());
            ILugar H = new Plaza(9, new ConstructorSimple());
            ILugar I = new Plaza(9, new ConstructorSimple());
            ILugar J = new Plaza(9, new ConstructorSimple());


            //"COMPROBACION DEL PATRON ITERATOR CON DENUNCIASPORTABLERO"

            //SE AGREGA A LA LISTA DE OBSERVADORES LA DENUNCIATABLERO EN LOS RESPECTIVOS ILUGARES

            DenunciasPorTablero denuncia1 = new DenunciasPorTablero();

            A.AgregarObservador(denuncia1);
            B.AgregarObservador(denuncia1);
            C.AgregarObservador(denuncia1);
            D.AgregarObservador(denuncia1);
            E.AgregarObservador(denuncia1);
            F.AgregarObservador(denuncia1);

            //SE INVOCA EL METODO CHISPA() DE LOS LUGARES B Y F, ESTE PROVOCA EL CAMBIO DE ESTADO Y NOTIFICA AL OBSERVADOR(LA DENUNCIA POR TABLERO)
            B.Chispa();
            F.Chispa();

            //SE INVOCA AL METODO ATENDERDENUNCIAS() DEL SECRETARIO EL CUAL RECIBE
            //LA DENUNCIA Y CONSTRUYE UN ITERADOR PARA QUE ESTE ITERE CADA DENUNCIA

            secretario.atenderDenuncias(denuncia1);


            //COMPROBACION DEL PATRON ITERATOR CON DENUNCIASPORWHATSAPP

            //CREACION DE LISTA ENLAZADA

            //REFERENCIA DE TIPO MensajeWhatsapp QUE NO CONTIENE NADA
            MensajeWhatsapp listadenunciaWhatsapp = null;

            //SE LE ASIGANA UN OBJETO DE TIPO MensajeWhatsapp A TAL REFERENCIA
            //LAS DENUNCIAS RECIBEN LAS CALLES Y LOS LUGARES POR CONSTRUCTOR PARA EL METODO APAGAR INCENDIO DEL BOMBERO
            listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeIncendio(G, calle3), listadenunciaWhatsapp);
            listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeIncendio(H, calle4), listadenunciaWhatsapp);
            listadenunciaWhatsapp = new MensajeWhatsapp(new DenunciaDeIncendio(I, calle5), listadenunciaWhatsapp);

            //INSTANCIA DE DENUNCIAPORWHATSAPP A LA CUAL SE LE PASA POR PARAMETRO UNA LISTA ENLAZADA
            DenunciasPorWhatsapp denuncia2 = new DenunciasPorWhatsapp(listadenunciaWhatsapp);

            secretario.atenderDenuncias(denuncia2);

            //COMPROBACION DEL PATRON ITERATOR CON DENUNCIASPORMOSTRADOR

            DenunciasPorMostrador denuncia3 = new DenunciasPorMostrador(new DenunciaDeIncendio(J, calle6));

            secretario.atenderDenuncias(denuncia3);
        }
Esempio n. 14
0
        //*********************************************************************************************************************

        public static void pruebaPatronBuilder()
        {
            //CONSTRUCTOR CONCRETO DESFAVORABLE DE BUILDER
            ConstructorDesfaborable constructor1 = new ConstructorDesfaborable();

            constructor1.setCantidadPersonas(5);
            constructor1.setTemperatura(40);
            constructor1.setViento(90);

            //CONSTRUCTOR CONCRETO FAVORABLE DE BUILDER
            ConstructorFavorable constructor2 = new ConstructorFavorable();

            constructor2.setIntLluvia(15);

            //CONSTRUCTOR CONCRETO MIXTO DE BUILDER
            ConstructorMixto constructor3 = new ConstructorMixto();

            constructor3.setLluvia(15);

            //CONSTRUCTOR CONCRETO SIMPLE
            ConstructorSimple constructor4 = new ConstructorSimple();

            //ASIGNANADO UN CONSTRUCTOR CONCRETO Y UN DIRECTOR A CADA INSTANCIA DE PLAZA

            Plaza objPlaza1 = new Plaza(constructor1);

            objPlaza1.SetSuperficieMetrosCuadrados(9);

            Plaza objPlaza2 = new Plaza(constructor2);

            objPlaza2.SetSuperficieMetrosCuadrados(9);

            Plaza objPlaza3 = new Plaza(constructor3);

            objPlaza3.SetSuperficieMetrosCuadrados(9);

            Plaza objPlaza4 = new Plaza(constructor4);

            objPlaza4.SetSuperficieMetrosCuadrados(9);

            //INSTANCIA DE CALLE CON SU CAUDAL DE AGUA DISPONIBLE
            Calle objCalle = new Calle(50);

            //INSTANCIA DE BOMBERO, SETEANDOLE UNA ESTRATEGIA DE APAGADO
            Bombero objBombero = new Bombero(new Secuencial());

            Console.WriteLine("APAGANDO INCENDIO CON CIRCUNSTANCIAS DESFABORABLES");
            objBombero.ApagarIncendio(objPlaza1, objCalle);
            Console.WriteLine();

            Console.WriteLine("APAGANDO INCENDIO CON CIRCUNSTANCIAS FABORABLES");
            objBombero.ApagarIncendio(objPlaza2, objCalle);
            Console.WriteLine();

            Console.WriteLine("APAGANDO INCENDIO CON CIRCUNSTANCIAS MIXTAS");
            objBombero.ApagarIncendio(objPlaza3, objCalle);
            Console.WriteLine();

            Console.WriteLine("APAGANDO INCENDIO CON CIRCUNSTANCIAS NORMALES");
            objBombero.ApagarIncendio(objPlaza4, objCalle);
            Console.WriteLine();
        }
Esempio n. 15
0
        public static void run()
        {
            //Testing
            Console.WriteLine("Creando escenario del testing....");
            Console.WriteLine("");

            //Esenario
            Director directorBuilderSimple       = new Director(new BuilderSimple());
            Director directorBuilderFavorable    = new Director(new BuilderFavorable());
            Director directorBuilderDesfavorable = new Director(new BuilderDesfavorable());
            Director directorBuilderMixto        = new Director(new BuilderMixto());
            Calle    calle  = new Calle("Pergamino", 100, 4, 60);
            Lugar    casa1  = new Casa(directorBuilderSimple, 4, 42, 4, calle);
            Lugar    casa2  = new Casa(directorBuilderFavorable, 4, 42, 4, calle);
            Lugar    plaza1 = new Casa(directorBuilderDesfavorable, 4, 42, 4, calle);
            Lugar    plaza2 = new Casa(directorBuilderMixto, 4, 42, 4, calle);

            IStrategyDeApagadoDeIncendio estrategiaDeApagado = new Secuencial();

            Console.WriteLine("Se han creado: cuatro directores con un constructor diferente cada uno,");
            Console.WriteLine("               cuatro lugares con un director diferente cada uno,");
            Console.WriteLine("               un bombero con estrategia de apagado Secuencial.");
            Console.WriteLine("-------------------------------------------------------------------------");
            Console.WriteLine("");
            Console.WriteLine("Ejecutando...");
            Console.WriteLine("");

            Console.WriteLine("Test Builder Simple...");
            Console.WriteLine("");
            Bombero bombero1 = new Bombero(null, casa1, estrategiaDeApagado);

            bombero1.apagarIncendio();
            Console.WriteLine("-------------------------------------------------------------------------");
            Console.WriteLine("Presione Enter Para Continuar!");
            Console.ReadKey(true);
            Console.WriteLine("");

            Console.WriteLine("Test Builder Favorable...");
            Console.WriteLine("");
            Bombero bombero2 = new Bombero(null, casa2, estrategiaDeApagado);

            bombero2.apagarIncendio();
            Console.WriteLine("-------------------------------------------------------------------------");
            Console.WriteLine("Presione Enter Para Continuar!");
            Console.ReadKey(true);
            Console.WriteLine("");

            Console.WriteLine("Test Builder Desafavorable...");
            Console.WriteLine("");
            Bombero bombero3 = new Bombero(null, plaza1, estrategiaDeApagado);

            bombero3.apagarIncendio();
            Console.WriteLine("-------------------------------------------------------------------------");
            Console.WriteLine("Presione Enter Para Continuar!");
            Console.ReadKey(true);
            Console.WriteLine("");

            Console.WriteLine("Test Builder Mixto...");
            Console.WriteLine("");
            Bombero bombero4 = new Bombero(null, plaza2, estrategiaDeApagado);

            bombero4.apagarIncendio();
            Console.WriteLine("Presione Enter Para Continuar!");
            Console.ReadKey(true);
            Console.WriteLine("");
        }