private static void Command1() { var fila = new FilaDeTrabalho(); var p1 = new Pedido("Luis", 100); var p2 = new Pedido("Gustavo", 200); fila.Adiciona(new PagaPedido(p1)); fila.Adiciona(new PagaPedido(p2)); fila.Adiciona(new FinalizaPedido(p2)); fila.Processa(); }
private static void TestaCommandExemploPedidos() { var fila = new FilaDeTrabalho(); var pedido1 = new Pedido("José", 500.0); var pedido2 = new Pedido("Maria", 200.0); fila.Adiciona(new PagaPedido(pedido1)); fila.Adiciona(new PagaPedido(pedido2)); fila.Adiciona(new FinalizaPedido(pedido1)); fila.Processa(); Console.ReadKey(); }
static void Capitulo7() { FilaDeTrabalho fila = new FilaDeTrabalho(); Pedido pedido1 = new Pedido("Maurício", 100.0); Pedido pedido2 = new Pedido("Marcelo", 200.0); fila.Adiciona(new PagaPedido(pedido1)); fila.Adiciona(new PagaPedido(pedido2)); fila.Adiciona(new FinalizaPedido(pedido2)); fila.Processa(); }
static void Main(string[] args) { Pedido pedido = new Pedido("Bruno Lopes", 100); Pedido pedidoMae = new Pedido("Mãe do Bruno Lopes", 100); Pedido pedidoPai = new Pedido("Pai do Bruno Lopes", 100); FilaDeTrabalho fila = new FilaDeTrabalho(); fila.Adiciona(new PagaPedido(pedido)); fila.Adiciona(new PagaPedido(pedidoMae)); fila.Adiciona(new FinalizaPedido(pedidoMae)); fila.Adiciona(new FinalizaPedido(pedidoPai)); fila.Processa(); }
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(); }