Exemple #1
0
        static void Main(string[] args)
        {
            Acidente acidentePequeno = new Acidente("Gato preso", "Gato preso em cima da árvore!", TipoAcidente.Pequeno, LocalAcidente.Terrestre);
            Acidente acidenteMedio   = new Acidente("Batida de barcos", "Dois barcos se colidiram na praia XYZ as 2 horas da tarde.", TipoAcidente.Medio, LocalAcidente.Marinho);
            Acidente acidenteGrande  = new Acidente("Queda de avião", "Avião sofre pane e cai durante a noite de segunda feira.", TipoAcidente.Grande, LocalAcidente.Aereo);

            Socorro socorroPequenoFactory = SocorroFactory.GerarFabricaDeSocorro(acidentePequeno.TipoAcidente);
            Socorro socorroMedioFactory   = SocorroFactory.GerarFabricaDeSocorro(acidenteMedio.TipoAcidente);
            Socorro socorroGrandeFactory  = SocorroFactory.GerarFabricaDeSocorro(acidenteGrande.TipoAcidente);

            var socorroPequeno = socorroPequenoFactory.GerarSolicitacaoDeSocorro(acidentePequeno);
            var socorroMedio   = socorroMedioFactory.GerarSolicitacaoDeSocorro(acidenteMedio);
            var socorroGrande  = socorroGrandeFactory.GerarSolicitacaoDeSocorro(acidenteGrande);

            socorroPequeno.ExibirSolicitacaoDeSocorro();
            socorroMedio.ExibirSolicitacaoDeSocorro();
            socorroGrande.ExibirSolicitacaoDeSocorro();
        }
Exemple #2
0
        static void Main(string[] args)
        {
            while (true)
            {
                Console.Clear();
                Console.WriteLine("Selecione o tipo de factory a ser executada: ");
                Console.WriteLine("\n1 - Factory Simples");
                Console.WriteLine("2 - Factory Complexa\n");
                Console.Write("> ");

                int opcao = int.Parse(Console.ReadLine());

                switch (opcao)
                {
                case 1:
                    Console.WriteLine(MensagemFactory.GerarMensagem(Dia.Manha));
                    Console.WriteLine(MensagemFactory.GerarMensagem(Dia.Tarde));
                    Console.WriteLine(MensagemFactory.GerarMensagem(Dia.Noite));
                    break;

                case 2:
                    var acidentes = new List <Acidente>
                    {
                        new Acidente("Gato preso", "Gato preso em cima da árvore!", TipoAcidente.Pequeno),
                        new Acidente("Batida de carro", "Dois carros se colidiram na avenida XYZ as 2 horas da tarde.", TipoAcidente.Medio),
                        new Acidente("Queda de avião", "Avião sofre pane e cai durante a noite de segunda feira.", TipoAcidente.Grande)
                    };

                    foreach (var acidente in acidentes)
                    {
                        var socorro = SocorroFactory.GerarPedidoDeSocorro(acidente.TipoAcidente);
                        socorro.Socorrer(acidente);
                    }
                    break;
                }

                Console.ReadKey();
            }
        }