//********************************************************************************************************************* //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(); }
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); }
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(); }
//********************************************************************************************************************* 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); }
//********************************************************************************************************************* 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(); }
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); }
public BomberoSecretario(Bombero pBombero) { this.bombero = pBombero; }
//********************************************************************************************************************* 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); }
//********************************************************************************************************************* 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(); }
//********************************************************************************************************************* 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); }
//********************************************************************************************************************* 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(); }
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(""); }