コード例 #1
0
        /*
         * - INTENÇÃO: fornecer uma inteface para craição de famílias de objetos relacionados
         *           ou dependentes sem especificar suas classes concretas
         * - Cria uma instância de várias famílias de classe
         * - Utilizado para familias de classes bem definidas
         */
        static void Main(string[] args)
        {
            // Empresa Onibus
            EmpresaOnibus viacaoXYZ = new ConcreteEmpresaOnibus();

            // Emite passagens
            PassagemOnibusUrbano        passagemLocal = viacaoXYZ.emitePassagemOnibusUrbano("São Paulo", "Campinas", new DateTime(2020, 01, 10, 10, 20, 00));
            PassagemOnibusInterestadual passagemInter = viacaoXYZ.emitePassagemOnibusInterestadual("São Paulo", "Rio de Janeiro", new DateTime(2020, 03, 25, 15, 30, 00));

            // Exibe detalhe das passagens
            Console.WriteLine(passagemLocal.exibeDetalhe());
            Console.WriteLine(passagemInter.exibeDetalhe());
        }
コード例 #2
0
        static void Main(string[] args)
        {
            //Empresas de ônibus
            EmpresaOnibus viacaoXYZ = new ConcreteEmpresaOnibus();

            //Emite passagens
            PassagemOnibusUrbano pUrbano = viacaoXYZ.EmitePassagemOnibusUrbano("S�o Paulo", "Campinas", DateTime.Now);

            PassagemOnibusInterestadual pInterestadual = viacaoXYZ.EmitePassagemOnibusInterestadual("S�o Paulo", "Rio de Janeiro", DateTime.Now);

            //Exibe detalhes da passagem
            pUrbano.ExibirDetalhes();

            pInterestadual.ExibirDetalhes();
        }