static void Main(string[] args)
        {
            Cliente cliente = new Cliente();

            cliente.Nome             = "valter";
            cliente.Endereco         = "Rua Divinopolis";
            cliente.DataDeNascimento = DateTime.Now;

            String xml = new GeradorDeXml().GeraXml(cliente);

            Console.WriteLine(xml);
        }
Exemple #2
0
        static void Main(string[] args)
        {
            Cliente cliente = new Cliente();

            cliente.Nome             = "victor";
            cliente.Endereco         = "Rua Vergueiro";
            cliente.DataDeNascimento = DateTime.Now;

            GeradorDeXml gerador = new GeradorDeXml();
            String       xml     = gerador.GeraXml(cliente);

            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            NotasMusicais notas  = new NotasMusicais();
            IList <INota> musica = new List <INota>()
            {
                notas.Pega("do"),
                notas.Pega("re"),
                notas.Pega("mi"),
                notas.Pega("fa"),
                notas.Pega("fa"),
                notas.Pega("fa"),
            };

            Piano piano = new Piano();

            piano.Toca(musica);

            //Memento
            Historico historico = new Historico();
            Contrato  c         = new Contrato(DateTime.Now, "Euler Vital", TipoContrato.Novo);

            historico.Adiciona(c.SalvaEstado());
            c.Avanca();
            historico.Adiciona(c.SalvaEstado());
            c.Avanca();
            historico.Adiciona(c.SalvaEstado());
            Console.WriteLine(c.Tipo);
            Console.WriteLine(historico.Pega(2).Contrato.Tipo);
            Console.ReadLine();

            //Interpreter
            //((1 + 100) + 10) + (20 - 10)
            //Pode ser usado toda vezque nós temos uma arvore de expressoes que queremos avaliar
            IExpressao esquerda = new Soma(new Soma(new Numero(1), new Numero(100)), new Numero(10));
            IExpressao direita  = new Subtracao(new Numero(20), new Numero(10));
            IExpressao soma     = new Soma(esquerda, direita);

            Console.WriteLine(soma.Avalia());

            //API Expression do C#
            Expression soma_01 = Expression.Add(Expression.Constant(10), Expression.Constant(100));
            Func <int> funcao  = Expression.Lambda <Func <int> >(soma_01).Compile();

            Console.WriteLine(funcao());

            //Visitor
            Console.WriteLine(soma.Avalia());
            ImpressoraVisitor impressora = new ImpressoraVisitor();

            soma.Aceita(impressora);

            //Bridge (Separa responsabilidade)
            IMensagem mensagem = new MensagemCliente("Euler");

            mensagem.Enviador = new EnviaPorEmail();
            mensagem.Envia();
            Console.ReadLine();

            //Command
            //OBS: Ideal para api´s que serão consumidas por celulares
            //Pois pode ser excutado posteriormente
            FilaDeTrabalho fila    = new FilaDeTrabalho();
            Pedido         pedido1 = new Pedido("Euler", 120.90);
            Pedido         pedido2 = new Pedido("Jean", 110.90);

            fila.Adiciona(new PagaPedido(pedido1));
            fila.Adiciona(new PagaPedido(pedido2));
            fila.Adiciona(new FinalizaPedido(pedido1));
            fila.Processa();


            //Adpter
            //Usado para aptar o codigo usado pela biblioteca nativa c#
            Cliente cliente = new Cliente();

            cliente.Nome             = "Euler";
            cliente.Endereco         = "Rua vergueiro";
            cliente.DataDeNascimento = DateTime.Now;
            string xml = new GeradorDeXml().GeraXml(cliente);

            Console.WriteLine(xml);
            Console.ReadLine();
        }
        static void Main(string[] args)
        {
            #region Factory
            //using (var conexao = new ConnectionFactory().GetConnection())
            //{
            //    using (var command = conexao.CreateCommand())
            //        command.CommandText = "select * from tabela";
            //}
            #endregion

            #region Flyweight
            //var notasMusicais = new NotasMusicais();
            //var doReMiFa = new List<INotaMusical>()
            //{
            //    notasMusicais.ObtemNotaMusical("do"),
            //    notasMusicais.ObtemNotaMusical("re"),
            //    notasMusicais.ObtemNotaMusical("mi"),
            //    notasMusicais.ObtemNotaMusical("fa"),
            //    notasMusicais.ObtemNotaMusical("fa"),
            //    notasMusicais.ObtemNotaMusical("fa")
            //};

            //var piano = new Piano();
            //piano.Toca(doReMiFa);
            #endregion

            #region Memento
            //var historico = new Historico();
            //var contrato = new Contrato("Mauricio", DateTime.Now, TipoContrato.Novo);
            //historico.Adiciona(contrato.SalvaEstado());

            //contrato.Avanca();
            //historico.Adiciona(contrato.SalvaEstado());

            //contrato.Avanca();
            //historico.Adiciona(contrato.SalvaEstado());

            //contrato.Avanca();
            //historico.Adiciona(contrato.SalvaEstado());
            #endregion

            #region Interpreter
            //IExpressao esquerda = new Subtracao(new Numero(10), new Numero(5));
            //IExpressao direita = new Soma(new Numero(2), new Numero(10));
            //IExpressao conta = new Soma(esquerda, direita);

            //IExpressao multiplicao = new Multiplicacao(new Numero(2), new Numero(10));
            //IExpressao divisao = new Divisao(new Numero(2), new Numero(10));
            //IExpressao raiz = new RaizQuadrada(new Numero(125));

            //Console.WriteLine($"Resultado soma: {direita.Avalia()}");
            //Console.WriteLine($"Resultado subtração: {esquerda.Avalia()}");
            //Console.WriteLine($"Resultado soma total: {conta.Avalia()}");
            //Console.WriteLine($"Resultado soma multiplicação: {multiplicao.Avalia()}");
            //Console.WriteLine($"Resultado soma divisão: {divisao.Avalia()}");
            //Console.WriteLine($"Resultado soma raiz quadrada: {raiz.Avalia()}");
            #endregion

            #region Visitor
            //IExpressao esquerda = new Subtracao(new Numero(10), new Numero(5));
            //IExpressao direita = new Soma(new Numero(2), new Numero(10));
            //IExpressao conta = new Soma(esquerda, direita);
            //var visitor = new ImpressoraVisitor();
            //conta.Aceita(visitor);
            #endregion

            #region Bridges
            //IMensagem mensagem = new MensagemCliente("victor");
            //mensagem.Enviador = new EnviaPorEmail();
            //mensagem.Envia();
            #endregion

            #region Command
            //var pedido1 = new Pedido("Mauricio", 150.0M);
            //var pedido2 = new Pedido("Marcelo", 250.0M);
            //var fila = new FilaDeTrabalho();

            //fila.Adiciona(new PagaPedido(pedido1));
            //fila.Adiciona(new PagaPedido(pedido2));
            //fila.Adiciona(new FinalizaPedido(pedido1));

            //fila.Processa();
            #endregion

            #region Adapter
            var cliente = new Cliente
            {
                Nome             = "victor",
                Endereco         = "Rua Vergueiro",
                DataDeNascimento = DateTime.Now
            };

            var xml = new GeradorDeXml <Cliente>().GeraXml(cliente);
            Console.WriteLine(xml);
            #endregion

            //Console.ReadKey();
        }