1
resposta

O que faz parte do patterns strategy?

Prezados, boa tarde!

Esta parte do código faria parte do patterns strategy?

Ou seria todo as classes criadas. Tipo: orçamento e imposto?

class Calculador_de_impostos(object):

    def realiza_calculo(self, orcamento, imposto):
        valor = imposto.calcula(orcamento)
        print valor

if __name__ == '__main__':

    from orcamento import Orcamento
    from impostos import ISS, ICMS

    orcamento = Orcamento(500.0)
    calculador_de_impostos = Calculador_de_impostos()
    calculador_de_impostos.realiza_calculo(orcamento, ISS())
    calculador_de_impostos.realiza_calculo(orcamento, ICMS())
1 resposta

Oi Pedro, tudo bom?

O padrão consiste na estrutura que criamos. Ou seja, tanto a definição das classes de imposto quanto a abstração de utilizar o polimorfismo na execução com: imposto.calcula()

No final das contas, o padrão em sí é a solução completa pra um problema comum: ifs algoritmicos. A classe que executa pode mudar bastante de caso pra caso, mas também faz parte do pattern =)

Abraço