static void Main(string[] args) { Imposto icms = new ICMS(); Imposto iss = new ISS(); Orcamento orcamento = new Orcamento(500); CalculadorDeImpostos calculador = new CalculadorDeImpostos(); calculador.RealizaCalculo(orcamento, iss); calculador.RealizaCalculo(orcamento, icms); Console.ReadKey(); }
static void Main(string[] args) { Imposto iss = new ISS(); Imposto icms = new ICMS(); Orcamento orcamento = new Orcamento(500); CalculadorDeImpostos calc = new CalculadorDeImpostos(); //Neste ponto posso passar c/ qual imposto desejo trabalhar. calc.RealizaCalculo(orcamento, icms); calc.RealizaCalculo(orcamento, iss); Console.ReadKey(); }
public static void Main(string[] args) { var pedido = new Pedido(100.00M); var calculador = new CalculadorDeImpostos(); decimal impostoICMS = calculador.CalcularImpostos(pedido, new IMCS()); Console.WriteLine(impostoICMS); decimal impostoIPI = calculador.CalcularImpostos(pedido, new IPI()); Console.WriteLine(impostoIPI); Console.ReadKey(); }
static void Main(string[] args) { /*finge que aqui é uma injeção de dependencia por construtor*/ IImposto iss = new ISS(); IImposto icms = new ICMS(); IImposto xpto = new XPTO(); IImposto example = new Example(); /*fim da injeção*/ Orcamento orcamento = new Orcamento(500.0); CalculadorDeImpostos context; context = new CalculadorDeImpostos(iss); context.RealizaCalculo(orcamento); context = new CalculadorDeImpostos(icms); context.RealizaCalculo(orcamento); context = new CalculadorDeImpostos(xpto); context.RealizaCalculo(orcamento); context = new CalculadorDeImpostos(example); context.RealizaCalculo(orcamento); }