1
resposta

Regra de Negocio

Não ficou muito claro quando ira calcular o ICMS ou ISS, foi resolvido o problema da responsabilidade unica, porem no video não teve a solução de quando calcular o ICMS ou ISS,

1 resposta

Bom dia, Praticamente o módulo ensina como e onde aplicar o padrão, o momento e a situação para calcular os impostos vai depender da regra do negócio, até mesmo do programador. No exemplo, os cálculos dos impostos estão sendo feitos logo após o Orçamento ter sido criado, mas nada impede que os imposto sejam calculados antes do Orçamento ser impresso para o usuário, por exemplo. (estou referindo ao padrão Strategy)

public class TesteDeImpostos 
{
    static void Main(String[] args) 
    {
        Imposto iss = new ISS();
        Imposto icms = new ICMS();
        Orcamento orcamento = new Orcamento(500.0);
        CalculadorDeImposto calculador = new CalculadorDeImposto();

        // Calculando o ISS
        calculador.RealizaCalculo(orcamento, iss);

        // Calculando o ICMS        
        calculador.RealizaCalculo(orcamento, icms);
    }
}