public static ICuartel crearHeroe(IFabricaDeHeroes fabrica) { ICuartel cuartel = fabrica.crearCuartel(); cuartel.agregarPersonal(fabrica.crearHeroe()); cuartel.agregarHerramienta(fabrica.crearHerramienta()); cuartel.agregarVehiculo(fabrica.crearVehiculo()); return(cuartel); }
public static ICuartel crearHeroe(IFabricaDeHeroes fabricaDeHeroes) { ICuartel cuartel = fabricaDeHeroes.crearCuartel(); IResponsable responsable = fabricaDeHeroes.crearHeroe(); IVehiculo vehiculo = fabricaDeHeroes.crearVehiculo(); IHerramienta herramienta = fabricaDeHeroes.crearHerramienta(); cuartel.agregarVehiculo(vehiculo); cuartel.agregarPersonal(responsable); cuartel.agregarHerramienta(herramienta); return(cuartel); }
public static void patronAbstractFactory() { //Instanciacion de la fabrica de bomberos FabricaBombero fabricaBombero = new FabricaBombero(); ICuartel cuartel = crearHeroe(fabricaBombero); IResponsable responsable = cuartel.getPersonal(); cuartel.agregarPersonal(responsable); cuartel.agregarHerramienta(responsable.getHerramienta()); cuartel.agregarVehiculo(responsable.getVehiculo()); //Instanciacion de la fabrica de electricistas FabricaElectricista fabricaElectricista = new FabricaElectricista(); ICuartel cuartel2 = crearHeroe(fabricaElectricista); IResponsable responsable2 = cuartel.getPersonal(); cuartel2.agregarPersonal(responsable2); cuartel2.agregarHerramienta(responsable2.getHerramienta()); cuartel2.agregarVehiculo(responsable2.getVehiculo()); //Intanciacion de la fabrica de policias FabricaPolicia fabricaPolicia = new FabricaPolicia(); ICuartel cuartel3 = crearHeroe(fabricaPolicia); IResponsable responsable3 = cuartel3.getPersonal(); cuartel3.agregarPersonal(responsable3); cuartel3.agregarHerramienta(responsable3.getHerramienta()); cuartel3.agregarVehiculo(responsable3.getVehiculo()); //Instanciacion de la fabrica de medicos FabricaMedico fabricaMedico = new FabricaMedico(); ICuartel cuartel4 = crearHeroe(fabricaMedico); IResponsable responsable4 = cuartel.getPersonal(); cuartel4.agregarPersonal(responsable4); cuartel4.agregarHerramienta(responsable4.getHerramienta()); cuartel4.agregarVehiculo(responsable4.getVehiculo()); }
public static void TestAbstractFactory() { IFabricaDeHeroes fabrica_electricista = new FabricaDeElectricista(); IFabricaDeHeroes fabrica_policia = new FabricaDePolicia(); IFabricaDeHeroes fabrica_bombero = new FabricaDeBombero(); IFabricaDeHeroes fabrica_medico = new FabricaDeMedico(); ICuartel central_electrica = crearHeroe(fabrica_electricista); ICuartel comisaria = crearHeroe(fabrica_policia); ICuartel cuartel_de_bomberos = crearHeroe(fabrica_bombero); ICuartel hospital = crearHeroe(fabrica_medico); IResponsable electricista = central_electrica.getPersonal(); IResponsable bombero = cuartel_de_bomberos.getPersonal(); IResponsable medico = hospital.getPersonal(); IResponsable policia = comisaria.getPersonal(); Plaza plaza = new Plaza("luz", 40, 19, 10); Esquina esquina = new Esquina(4); Casa casa = new Casa(1, 40, 5); Calle calle = new Calle(100, 4, 85); casa.Calle = calle; IInfartable trauseunte = new Transeunte(); Console.ForegroundColor = ConsoleColor.Red; ((Electricista)electricista).revisar(plaza); //guardando electricista al cuartel, su herramienta y vehiculo central_electrica.agregarherramienta(((Electricista)electricista).Herramienta); central_electrica.agregarVehiculo(((Electricista)electricista).Vehiculo); ((Electricista)electricista).Herramienta = null; ((Electricista)electricista).Vehiculo = null; central_electrica.agregarPersonal(electricista); electricista = null; Console.ForegroundColor = ConsoleColor.Green; ((Policia)policia).patrullarCalles(esquina); //guardando policia al cuartel, su herramienta y vehiculo comisaria.agregarherramienta(((Policia)policia).Herramienta); comisaria.agregarVehiculo(((Policia)policia).Vehiculo); ((Policia)policia).Herramienta = null; ((Policia)policia).Vehiculo = null; comisaria.agregarPersonal(policia); policia = null; Console.ForegroundColor = ConsoleColor.Cyan; ((Bombero)bombero).apagarIncendio(casa, casa.Calle); //guardando bombero al cuartel, su herramienta y vehiculo cuartel_de_bomberos.agregarherramienta(((Bombero)bombero).Herramienta); cuartel_de_bomberos.agregarVehiculo(((Bombero)bombero).Vehiculo); ((Bombero)bombero).Herramienta = null; ((Bombero)bombero).Vehiculo = null; cuartel_de_bomberos.agregarPersonal(bombero); bombero = null; Console.ForegroundColor = ConsoleColor.DarkYellow; ((Medico)medico).atenderInfarto(trauseunte); //guardando medico al cuartel, su herramienta y vehiculo hospital.agregarherramienta(((Medico)medico).Herramienta); hospital.agregarVehiculo(((Medico)medico).Vehiculo); ((Medico)medico).Herramienta = null; ((Medico)medico).Vehiculo = null; hospital.agregarPersonal(medico); medico = null; }