public static IEfectivoDeGot crear(string opcion, string nombre, IEfectivoDeGot siguiente) { FabricaDeEfectivos f = null; switch (opcion) { case "Operador": f = new FabricaDeOperador(); break; case "Cientifica": f = new FabricaDeCientifica(); break; case "Oficial": f = new FabricaDeOficial(); break; case "FuezaEspecial": f = new FabricaDeFuerzaEspecial(); break; case "Comisario": f = new FabricaDeComisario(); break; case "Perito": f = new FabricaDePerito(); break; case "DetectiveSY": f = new FabricaDeDetectiveSY(); break; case "DetectiveM": f = new FabricaDeDetectiveM(); break; case "DetectiveD": f = new FabricaDeDetectiveD(); break; } return(f.crear(nombre, siguiente)); }
private static IEfectivoDeGot CrearDepartamentoDePolicia() { // Este método puede ser modificado si se desea probar con otra cadena de responsabilidades IEfectivoDeGot eg = null; // Con esta cadena, todos los casos deberán ser atendidos eg = FabricaDeEfectivos.crear("Operador", "Tyrion Lannister", eg); eg = FabricaDeEfectivos.crear("Cientifica", "Daenerys Targaryen", eg); eg = FabricaDeEfectivos.crear("Oficial", "Arya Stark", eg); eg = FabricaDeEfectivos.crear("Oficial", "Jon Snow", eg); eg = FabricaDeEfectivos.crear("DetectiveM", "Eddard Stark", eg); eg = FabricaDeEfectivos.crear("FuezaEspecial", "Jaime Lannister", eg); eg = FabricaDeEfectivos.crear("Oficial", "Cersei Lannister", eg); eg = FabricaDeEfectivos.crear("Comisario", "Sansa Stark", eg); eg = FabricaDeEfectivos.crear("Perito", "Robb Stark", eg); eg = FabricaDeEfectivos.crear("Oficial", "Khal Drogo", eg); eg = FabricaDeEfectivos.crear("DetectiveSY", "Sam Tarly", eg); eg = FabricaDeEfectivos.crear("FuezaEspecial", "Varys", eg); eg = FabricaDeEfectivos.crear("Oficial", "Bran Stark", eg); eg = FabricaDeEfectivos.crear("DetectiveD", "Petyr Baelish", eg); eg = FabricaDeEfectivos.crear("Oficial", "Tywin Lannister", eg); /* * // Con esta cadena, los robos, asesinatos, secuestros y amenazas de bomba no son atendidos * * eg = FabricaDeEfectivos.crear("Operador", "Theon Greyjoy", eg); * eg = FabricaDeEfectivos.crear("Cientifica", "Joffrey Baratheon", eg); * eg = FabricaDeEfectivos.crear("Oficial", "Aemon Targaryen", eg); * eg = FabricaDeEfectivos.crear("FuezaEspecial", "Hodor", eg); * eg = FabricaDeEfectivos.crear("FuezaEspecial", "Stannis Baratheon", eg); * eg = FabricaDeEfectivos.crear("Oficial", "Robert Baratheon", eg); */ return(eg); }