static void Main(string[] args) { Console.WriteLine("Decorator"); Orcamento orcamento = new Orcamento(); orcamento.AdicionaItem(new Item("NOTEBOOK", 1500)); orcamento.AdicionaItem(new Item("MOUSE", 100)); orcamento.AdicionaItem(new Item("TECLADO", 100)); orcamento.AdicionaItem(new Item("MONITOR", 100)); orcamento.AdicionaItem(new Item("IMPRESSORA", 100)); orcamento.AdicionaItem(new Item("BATERIA", 100)); Console.WriteLine($"Orçamento: {orcamento.Valor}"); ICMS icms = new ICMS(); Console.WriteLine($"ICMS {icms.Calcula(orcamento)}"); ISS iss = new ISS(); Console.WriteLine($"ISS {iss.Calcula(orcamento)}"); // Vai calcular o ICMS somando o valor do ISS // O ISS como não recebe outro imposto calcula apenas seu proprio valor ICMS icmsMaisISS = new ICMS(new ISS()); Console.WriteLine($"ICMS + com ISS: {icmsMaisISS.Calcula(orcamento)} <-- ICMS decorado com ISS!"); Console.ReadKey(); }
static void Main(string[] args) { Imposto impostoComplexo = new ISS(new ICMS()); Orcamento orcamento = new Orcamento(500.0); double valor = impostoComplexo.Calcula(orcamento); Console.WriteLine(valor); Console.ReadKey(); }
static void Main(string[] args) { Imposto iss = new ISS(new ImpostoAlto()); Orcamento orcamento = new Orcamento(1000); double valor = iss.Calcula(orcamento); Console.WriteLine(valor); Console.ReadKey(); }
public static void ImpostoComDecorator() { var orcamento = new Orcamento(0); orcamento.AdicionaItem(new Item("Caneta", 250)); orcamento.AdicionaItem(new Item("Caneta", 250)); var imposto = new ImpostoMuitoAlto(); var imposto2 = new ISS(); var imposto3 = new ImpostoMuitoAlto(new ISS()); var retorno = imposto.Calcula(orcamento); var retorno2 = imposto2.Calcula(orcamento); var retorno3 = imposto3.Calcula(orcamento); MessageBox.Show(retorno + " + " + retorno2 + " = " + retorno3); }
private static void ImpostoComDecorator() { Orcamento orcamento = new Orcamento(0); orcamento.AdicionaItem(new Item("Caneta", 250)); orcamento.AdicionaItem(new Item("Caneta", 250)); Imposto Imposto = new ImpostoMuitoAlto(); Imposto Imposto2 = new ISS(); Imposto Imposto3 = new ImpostoMuitoAlto(new ISS()); var retorno = Imposto.Calcula(orcamento); var retorno2 = Imposto2.Calcula(orcamento); var retorno3 = Imposto3.Calcula(orcamento); Console.WriteLine(retorno + " + " + retorno2 + " = " + retorno3); Console.ReadKey(); }