1
resposta

Implementação do Desconto com parâmetros variados

A abordagem da interface funciona quando o número de parâmetros é o mesmo. Mas e com parâmetros diferentes? Voltamos aos ifs e a classe cresce? E se o tipo de desconto vem de um banco de dados? Não teriamos que fazer os ifs para disparar o método adequado?

1 resposta

Oi Nalmir, tudo bom?

Infelizmente a gente ainda não tem sobrecarga no PHP, por isso no primeiro cenário (dos parâmetros diferentes) seria necessário os ifs não pelo pattern mas pela limitação da linguagem.

Se o desconto vem do banco de dados, significa que você guarda a classe que representa esse desconto. Nesse caso, você pode utilizar reflection para evitar o if das instâncias/chamada dos métodos.

Abraço

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software