public static Carro MontaCarro(string tipo) { CarroFactory factory; switch (tipo.ToLowerInvariant()) { case "luxo": factory = new CarroLuxoFactory(); break; case "popular": factory = new CarroPopularFactory(); break; default: factory = null; break; } var carro = new Carro { Roda = factory?.MontarRoda(), Som = factory?.MontarSom() }; return(carro); }
public static Carro montarCarro(string tipo) { CarroFactory cf = null; switch (tipo) { case "luxo": cf = new CarroLuxoFactory(); break; case "popular": cf = new CarroPopularFactory(); break; default: break; } Carro carro = new Carro(); carro.roda = cf.montarRoda(); carro.som = cf.montarSom(); return(carro); }