Beispiel #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);
        }
Beispiel #2
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);
        }
Beispiel #3
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();
        }