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); }
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(); }