Considere um sistema de recursos humanos que possui uma hierarquia de classes de Pessoa, PessoaFisica (PF) e PessoaJuridica (PJ), sendo a 1ª a superclasse das 2 últimas.

O cálculo do imposto de renda (IR) para PF é diferente para PJ. Por simplificação, vamos considerar que PFs pagam 11% de alíquota de IRPF, seguindo a fórmula:

IR Parcial = (Salário bruto - dedução em R$ por dependente - R$ INSS) * alíquota IRPF
IR da PF (R$) = IR Parcial - (gastos saúde + gastos educação)

No caso de PJ existem diferentes cálculos. Vamos considerar apenas o cálculo para empresas que aderem ao regime tributário chamado "Lucro Real". Neste caso, elas pagam 15% de alíquota de IRPJ sobre o lucro da companhia. Caso a empresa exceda R$ 20 mil por mês na cobrança de IR, ela também paga 10% sobre o valor que exceder, ou seja:

Limite Cobrança IR (R$) = 20000
IR Parcial (R$) = lucro * alíquota IRPJ
// Total de IR a pagar que excede o limite indicado acima
IR Excedente (R$) = IR Parcial - Limite Cobrança IR
Aliquota Adicional = 0.1 // 10%
IR da PJ (R$) = IR Parcial + (IR Excedente > 0 ? IR Excedente * Aliquota Adicional  : 0)

A PF física paga INSS. Por simplificação, vamos considerar que são 11% sobre o salário bruto (com a reforma da previdência, existe uma ampla faixa de alíquotas).

A PJ paga INSS para seus funcionários, mas não vamos considerar isto aqui. Considere a Contribuição Social sobre Lucro Líquido (CSLL) que, de forma simplificada, aqui consideraremos 9% do lucro.

Adicionalmente, a PJ paga ICMS por produtos adquiridos. Vamos considerar que a alíquota é de 5%.

Resumindo:

Precisamos de um método que calcule o valor em R$ de todos os impostos pagos por PFs e PJs. Considerando que deve-se garantir que o cálculo inclua o valor do IR, que padrão de projeto pode ser aplicado para isto?