Пример #1
0
        // -----------end: 03 - Observer ------------------------ //

        // Constructores
        public Casa(int puerta, int superficie, int habitantes, Calle calle, DirectorDeSectores directorDeSectores)
        {
            this.puerta             = puerta;
            this.superficie         = superficie;
            this.habitantes         = habitantes;
            this.calle              = calle;
            this.directorDeSectores = directorDeSectores;
        }
Пример #2
0
 // Constructores
 public Plaza(string nombre, int superficie, int arboles, int farolas, Calle calle, DirectorDeSectores directorDeSectores)
 {
     this.nombre             = nombre;
     this.superficie         = superficie;
     this.arboles            = arboles;
     this.farolas            = farolas;
     this.calle              = calle;
     this.directorDeSectores = directorDeSectores;
 }
Пример #3
0
        static void Main(string[] args)
        {
            Test_HeroesDeCiudad.tituloDecorado();
            // heroes
            BomberoProxy      bombero      = new BomberoProxy();
            MedicoProxy       medico       = new MedicoProxy();
            PoliciaProxy      policia      = new PoliciaProxy();
            ElectricistaProxy electricista = new ElectricistaProxy();

            // creo Cadena
            medico.setSiguiente(bombero);
            policia.setSiguiente(medico);
            electricista.setSiguiente(policia);

            Operador911 op = new Operador911(electricista);

            // armar cadena?

            // 10 ILugar
            DirectorDeSectores directorFavorable = new DirectorDeSectores(new ConstructorDesfavorable());

            Calle callePrincipal  = new Calle(11, 10, 50); // 50 de agua
            Calle calleSecundaria = new Calle(15, 10, 30); // 20 de agua

            Casa  A = new Casa(1, 4, 10, callePrincipal, directorFavorable);
            Casa  B = new Casa(1, 16, 10, callePrincipal, directorFavorable);
            Casa  C = new Casa(1, 9, 10, calleSecundaria, directorFavorable);
            Casa  D = new Casa(1, 9, 10, calleSecundaria, directorFavorable);
            Casa  E = new Casa(1, 16, 10, calleSecundaria, directorFavorable);
            Casa  F = new Casa(1, 40, 10, calleSecundaria, directorFavorable);
            Plaza G = new Plaza("Plaza Alemana", 100, 10, 10, callePrincipal, directorFavorable);
            Casa  H = new Casa(1, 72, 10, calleSecundaria, directorFavorable);
            Casa  I = new Casa(1, 30, 10, callePrincipal, directorFavorable);
            Casa  J = new Casa(1, 25, 10, calleSecundaria, directorFavorable);


            // Instancie una DenunciasPorTablero y hágala observadora de los lugares A, B, C, D, E y F.
            DenunciasPorTablero denunciasPorTablero = new DenunciasPorTablero();

            A.agregarObservador(denunciasPorTablero);
            B.agregarObservador(denunciasPorTablero);
            C.agregarObservador(denunciasPorTablero);
            D.agregarObservador(denunciasPorTablero);
            E.agregarObservador(denunciasPorTablero);
            F.agregarObservador(denunciasPorTablero);

            //Instancie una DenunciasPorWhatsapp y agréguele los lugares G, H e I
            MensajeWhatsapp mensajeswpp = null;

            // 3 denuncias de incendio
            mensajeswpp = new MensajeWhatsapp(new DenunciaDeIncendio(G), mensajeswpp);
            mensajeswpp = new MensajeWhatsapp(new DenunciaDeIncendio(H), mensajeswpp);
            mensajeswpp = new MensajeWhatsapp(new DenunciaDeIncendio(I), mensajeswpp);
            // agregando denuncias 12 - chain
            // 2 denuncias de infarto
            mensajeswpp = new MensajeWhatsapp(new DenunciaDeInfarto(new Transeunte(0.7, 0.7, 0.7)), mensajeswpp);
            InfartableAdapter passerby = new InfartableAdapter(new Passerby(0.7, 0.7, 0.7));

            mensajeswpp = new MensajeWhatsapp(new DenunciaDeInfarto(passerby), mensajeswpp);
            // 3 denuncias de robo
            mensajeswpp = new MensajeWhatsapp(new DenunciaDeRobo(A), mensajeswpp);
            mensajeswpp = new MensajeWhatsapp(new DenunciaDeRobo(C), mensajeswpp);
            mensajeswpp = new MensajeWhatsapp(new DenunciaDeRobo(D), mensajeswpp);
            // 5 denuncias lamparas quemadas
            mensajeswpp = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(G), mensajeswpp);
            mensajeswpp = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(new Esquina(10)), mensajeswpp);
            mensajeswpp = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(new Esquina(2)), mensajeswpp);
            mensajeswpp = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(calleSecundaria), mensajeswpp);
            mensajeswpp = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(callePrincipal), mensajeswpp);
            DenunciasPorWhatsapp denunciasPorWhatsapp = new DenunciasPorWhatsapp(mensajeswpp);

            // Instancie una DenunciasPorMostrador con el lugar J
            DenunciasPorMostrador denunciasPorMostrador = new DenunciasPorMostrador(new DenunciaDeIncendio(J));

            // Invoque al método chispa de los lugares B y F (para que se agreguen denuncias a la lista de DenunciasPorTablero).
            B.chispa();
            F.chispa();

            // PROBADNO FUNCIONAMIENTO
            Console.ForegroundColor = ConsoleColor.Magenta;
            Console.WriteLine("\n \n ---------------------------- \n  ATENDIENDO DENUNCIAS POR WHATSAPP! \n ---------------------------- \n ");
            Console.ForegroundColor = ConsoleColor.White;

            op.atenderDenuncias(denunciasPorWhatsapp);

            Console.WriteLine("\n ------------------------------- \n Presiona una tecla para cerrar");
            Console.ReadKey();
        }