Exemplo n.º 1
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:
                cf = new CarroPopularFactory();
                break;
            }

            Carro carro = new Carro();

            carro.Roda = cf.MontarRoda();
            carro.Som  = cf.MontarSom();

            return(carro);
        }
Exemplo n.º 2
0
        public static Carro MontarCarro(Tipo tipo)
        {
            CarroFactory cf = null;

            switch (tipo)
            {
            case Tipo.Popular:
                cf = new CarroPopularFactory();
                break;

            case Tipo.Luxo:
                cf = new CarroLuxoFactory();
                break;

            default:
                break;
            }

            var carro = new Carro
            {
                Roda = cf.MontarRoda(),
                Som  = cf.MontarSom()
            };

            return(carro);
        }
Exemplo n.º 3
0
        public static Carro Escolha(string escolha)
        {
            CarroFactory fact = null;

            switch (escolha)
            {
            case "luxo":
                fact = new CarroLuxoFactory();
                break;

            case "popular":
                fact = new CarroPopularFactory();
                break;
            }

            return(new Carro {
                Roda = fact.MontarRoda(),
                Som = fact.MontarSom()
            });
        }
        public static Carro MontarCarro(string tipo)
        {
            CarroFactory factory = null;

            switch (tipo)
            {
            case "LUXO":
                factory = new CarroLuxoFacotry();
                break;

            case "POPULAR":
                factory = new CarroPopularFactory();
                break;
            }

            Carro carro = new Carro();

            carro.roda = factory?.MontarRoda();
            carro.som  = factory?.MontarSom();

            return(carro);
        }
Exemplo n.º 5
0
        private static void AbstractFactory()
        {
            #region AbstractFactory

            List <Carro> carrosMontados = new List <Carro>();

            CarroFactory carroFactory = null;

            TipoCarroEnum[] carros = new TipoCarroEnum[] { TipoCarroEnum.Popular, TipoCarroEnum.Luxo };
            foreach (var tipoCarro in carros)
            {
                switch (tipoCarro)
                {
                case TipoCarroEnum.Popular:
                    carroFactory = new CarroPopularFactory();
                    break;

                case TipoCarroEnum.Luxo:
                    carroFactory = new CarroLuxoFactory();
                    break;

                default:
                    throw new Exception($"TipoCarro: {tipoCarro} desconhecido!");
                }

                carrosMontados.Add(new Carro(carroFactory.TipoCarro)
                {
                    Roda = carroFactory.MontarRoda(),
                    Som  = carroFactory.MontarSom()
                });
            }

            foreach (var carroMontado in carrosMontados)
            {
                GerenciadorSaida.SaidaConsole.EscreverTexto($"Carro: {carroMontado.TipoCarro} \t Roda: {carroMontado.Roda.ToString()} \t Som: {carroMontado.Som.ToString()}");
            }

            #endregion AbstractFactory
        }