コード例 #1
0
        public double Calcula(Orcamento orcamento)
        {
            IDesconto descontoPorCincoItens = new DescontoPorCincoItens();
            IDesconto descontoPorMaisDeQuinhentosReais = new DescontoPorMaisDeQuinhentosReais();
            IDesconto semDesconto = new SemDesconto();

            descontoPorCincoItens.Proximo = descontoPorMaisDeQuinhentosReais;
            descontoPorMaisDeQuinhentosReais.Proximo = semDesconto;

            return descontoPorCincoItens.Desconta(orcamento);
        }
        public double Calcula(Orcamento orcamento)
        {
            Desconto d1 = new DescontoPorCincoItens();
            Desconto d2 = new DescontoPorMaisDeQuinhentosReais();
            Desconto d3 = new SemDesconto();

            d1.Proximo = d2;
            d2.Proximo = d3;

            return(d1.Desconta(orcamento));
        }
コード例 #3
0
        public double Calcula(Orcamento orcamento)
        {
            IDesconto d1 = new DescontoPorCincoItens();
            IDesconto d2 = new DescontoPorMaisDeQuinhentosReais();
            IDesconto d3 = new DescontoPorVendaCasada();
            IDesconto d4 = new SemDesconto();

            d1.Proximo = d2;
            d2.Proximo = d3;
            d3.Proximo = d4;
            return(d1.Desconta(orcamento));
        }
コード例 #4
0
        public double Calcular(Orcamento orcamento)
        {
            IDesconto descontoPorCincoItens            = new DescontoPorCincoItens();
            IDesconto descontoPorMaisDeSeiscentosReais = new DescontoPorMaisDeSeiscentoReais();
            IDesconto semDesconto = new SemDesconto();

            //Ligando Descontos
            descontoPorCincoItens.ProximoDesconto            = descontoPorMaisDeSeiscentosReais;
            descontoPorMaisDeSeiscentosReais.ProximoDesconto = semDesconto;

            return(descontoPorCincoItens.Descontar(orcamento));
        }
コード例 #5
0
        public double Calcula(Orcamento orcamento)
        {
            IDesconto descontoPorCincoItens            = new DescontoPorCincoItens();
            IDesconto descontoPorMaisDeQuinhentosReais = new DescontoPorMaisDeQuinhentosReais();
            IDesconto semDesconto = new SemDesconto();


            descontoPorCincoItens.Proximo            = descontoPorMaisDeQuinhentosReais;
            descontoPorMaisDeQuinhentosReais.Proximo = semDesconto;

            return(descontoPorCincoItens.Desconta(orcamento));
        }
        public double CalcularDesconto(Orcamento orcamento)
        {
            IDesconto d1      = new DescontoMaisQuinhentosReais();
            IDesconto d2      = new DescontoPorCincoItens();
            IDesconto d3      = new DescontoVendaCasada();
            IDesconto semDesc = new SemDesconto();

            d1.ProximoDesconto = d2;
            d2.ProximoDesconto = d3;
            d3.ProximoDesconto = semDesc;

            return(d1.Descontar(orcamento));
        }
コード例 #7
0
        public double Calcula(Orcamento orcamento)
        {
            var d1 = new DescontoPorCincoItens();
            var d2 = new DescontoPorMaisDeQuihentosReais();
            var d3 = new DescontoPorVendaCasada();
            var d4 = new SemDesconto();

            d1.Desconto = d2;
            d2.Desconto = d3;
            d3.Desconto = d4;

            return(d1.Desconta(orcamento));
        }
コード例 #8
0
        private static void ExecuteChainOfResponsability()
        {
            IDesconto d1 = new DescontoPorCincoItens();
            IDesconto d2 = new DescontoPorMaisDeQuinhentosReais();
            IDesconto d3 = new SemDesconto();

            d1.Proximo = d2;
            d2.Proximo = d3;

            Orcamento orcamento = new Orcamento(500.0);

            double desconto = d1.Desconta(orcamento);

            Console.WriteLine(desconto);
        }