/// <summary> /// Conceito de Design Patterns estudado: Decorator /// </summary> public static void ExecutaCalculadorDeImpostosDecorator() { Imposto iss = new ImpostoMuitoAlto(new ICMS()); Orcamento orcamento = new Orcamento(500); double valor = iss.Calcula(orcamento); Console.WriteLine("Valor dos impostos: " + valor); }
static void TestaImpostoDecorator() //Decorator { Imposto impostoComplexo = new ImpostoMuitoAlto(new ICMS(new ISS())); Orcamento orcamento = new Orcamento(500.0); double valor = impostoComplexo.Calcula(orcamento); Console.WriteLine(valor); }
private static void MostraImpostos2() { //Imposto iss = new ISS(new ICMS(new IHIT())); Imposto impo = new ImpostoMuitoAlto(new IKCV()); Orcamento orcamento = new Orcamento(1000); orcamento.AdicionaItem(new Item("Lapis", 1000)); orcamento.AdicionaItem(new Item("Caneta", 250)); orcamento.AdicionaItem(new Item("Bolsa", 250)); orcamento.AdicionaItem(new Item("Lapis", 1000)); orcamento.AdicionaItem(new Item("borracha", 1000)); CalculadorDeImpostos calculador = new CalculadorDeImpostos(); //calculador.RealizaCalculo(orcamento, ikcv); //calculador.RealizaCalculo(orcamento, iccp); calculador.RealizaCalculo(orcamento, impo); }