Exemplo n.º 1
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();
        }
Exemplo n.º 2
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);
        }