Caso seja necessário tirar um ou mais impostos? Como que ficaria? Teria que mexer no código e suprimir a classe do imposto a ser removido. Daí não teria que "mexer" no código todo? Obrigado!
Caso seja necessário tirar um ou mais impostos? Como que ficaria? Teria que mexer no código e suprimir a classe do imposto a ser removido. Daí não teria que "mexer" no código todo? Obrigado!
Então Marcelo,
Você não precisaria mexer na classe do imposto específico. Bastaria você retirar o imposto que é passado para não ser mais passado no local onde todos os produtos serão calculados. Mexeria somente em um ponto do código... é isso?
Imposto iss = new ISS(new ICMS());
Imposto iss2 = new ISS();
Imposto iss3 = new ISS(new ICMS(new IKCV()));
Imposto ima = new IMA(new IHIT());
Orcamento orcamento = new(500);
orcamento.AdicionaItem(new Item("CANETA", 250));
orcamento.AdicionaItem(new Item("LAPIS", 150));
double valor = iss.Calcula(orcamento);
double valor2 = iss2.Calcula(orcamento);
double valor3 = iss3.Calcula(orcamento);
double valorIMA = ima.Calcula(orcamento);
Console.WriteLine(valor);
Console.WriteLine(valor2);
Console.WriteLine(valor3);
Console.WriteLine(valorIMA);
[]'s,
Fabio I.