//********************************************************************************************************************* 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 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); }