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);
        }
Esempio n. 2
0
        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);
        }