コード例 #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);
        }
コード例 #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);
        }
コード例 #3
0
        static void Main(string[] args)
        {
            TransporteService transporteService = new TransporteService(TripulanteFactory.Create(),
                                                                        CarroFactory.Create(), LocalFactory.Create());

            Console.WriteLine("Iniciar o transporte? S / N ?");
            if (Console.ReadLine().ToUpper() == "S")
            {
                transporteService.IniciarTransporte();
                Console.ReadKey();
            }
            else
            {
                Console.WriteLine("Sair!");
            }
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: hafcosta/Pattners
        static void RecuperarCarros()
        {
            ICarro vectra = new CarroFactory().RetornarCarro("Vectra");

            vectra.Acelerar();

            ICarro gol = new CarroFactory().RetornarCarro("Gol");

            gol.Acelerar();

            ICarro golf = new CarroFactory().RetornarCarro("Golf");

            golf.Acelerar();

            ICarro omega = new CarroFactory().RetornarCarro("Omega");

            omega.Acelerar();
        }
コード例 #5
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()
            });
        }
コード例 #6
0
        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);
        }
コード例 #7
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
        }
コード例 #8
0
        public static Carro MonstarCarro(string tipoCarro)
        {
            CarroFactory carroFactory = null;

            switch (tipoCarro)
            {
            case "luxo":
                carroFactory = new CarroLuxo();
                break;

            case "popular":
                carroFactory = new CarroPopular();
                break;
            }

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


            return(carro);
        }