예제 #1
0
        public static void PatronState()
        {
            Esquina      esquina     = new Esquina(12);
            IResponsable responsable = null;

            responsable = new ElectricistaProxy(responsable);
            FabricaElectricista FElectricista = new FabricaElectricista(responsable);

            crearHeroe(FElectricista).getPersonal().Revisar(esquina);
        }
 public override void Revisar(IIluminable i)
 {
     if (electricistaReal == null)
     {
         fabrica                      = new FabricaElectricista(siguiente);
         electricistaReal             = (Electricista)fabrica.crearHeroe();
         electricistaReal.Herramienta = fabrica.crearHerramienta();
         electricistaReal.Vehiculo    = fabrica.crearVehiculo();
     }
     electricistaReal.Revisar(i);
 }
예제 #3
0
        public static void PatronAbstractFactory()
        {
            Director     director    = new Director();
            var          builder     = new BuilderFavorable();
            Casa         casa        = new Casa(10, 4, 12, director, builder);
            IStrategy    estrategia  = new Secuencial();
            Decorator    pasto       = new PastoSeco(casa.crearSector(10, 10, 10));
            Transeunte   persona     = new Transeunte();
            Esquina      esquina     = new Esquina(12);
            IResponsable responsable = null;

            responsable = new Electricista(responsable);
            FabricaElectricista FElectricista = new FabricaElectricista(responsable);
            FabricaBombero      FBombero      = new FabricaBombero(estrategia, pasto, responsable);

            crearHeroe(FElectricista).getPersonal().Revisar(esquina);
            crearHeroe(FBombero);
        }
예제 #4
0
        public static void PatronComposite()
        {
            IResponsable        responsable   = null;
            Electricista        electricista  = new Electricista(responsable);
            FabricaElectricista FElectricista = new FabricaElectricista(electricista);
            ICuartel            cuartel       = crearHeroe(FElectricista);
            Esquina             e1            = new Esquina();
            Esquina             e2            = new Esquina();
            Esquina             e3            = new Esquina();

            Composite c1 = new Composite();
            Composite c2 = new Composite();
            Composite c3 = new Composite();

            c1.agregar(e1);
            c1.agregar(e2);
            c2.agregar(e3);
            c3.agregar(c2);
            c3.agregar(c1);

            cuartel.getPersonal().Revisar(c3);
        }
예제 #5
0
        public static void PatronChainOfResponsability()
        {
            Casa        casa       = new Casa();
            IOrden      aviso      = new VozDeAlto();
            IInfartable transeunte = new Transeunte();
            IIluminable esquina    = new Esquina(10);



            DenunciaDeInfarto        infarto = new DenunciaDeInfarto(transeunte);
            DenunciaDeRobo           robo    = new DenunciaDeRobo(casa);
            DenunciaDeLamparaQuemada lampara = new DenunciaDeLamparaQuemada(esquina);
            MensajeWhatsapp          mensaje = null;

            mensaje = new MensajeWhatsapp(infarto, mensaje);
            mensaje = new MensajeWhatsapp(robo, mensaje);
            mensaje = new MensajeWhatsapp(lampara, mensaje);
            DenunciaPorWhatsapp denunciaWhatsapp = new DenunciaPorWhatsapp(mensaje);

            IResponsable resposable = null;

            FabricaMedico       Fmedico       = new FabricaMedico(resposable);
            FabricaPolicia      Fpolicia      = new FabricaPolicia(aviso, casa, resposable);
            FabricaElectricista Felectricista = new FabricaElectricista(resposable);

            ICuartel cuartelEle = crearHeroe(Felectricista);
            ICuartel cuartelPo  = crearHeroe(Fpolicia);
            ICuartel cuartelMe  = crearHeroe(Fmedico);

            resposable = cuartelMe.getPersonal();
            resposable = cuartelPo.getPersonal();
            resposable = cuartelEle.getPersonal();

            Operador911 operador = new Operador911(resposable);

            operador.atenderDenuncias(denunciaWhatsapp);
        }