Minha duvida é bem simples, vimos no exemplo anterior que o metodo validar recebe dois parametros "funcionario" & "aumento"
void validar(Funcionario funcionario, BigDecimal aumento)
Vamos supor que minha implementação cresceu e agora tem o metado penalidade
void penalidade(Funcionario funcionario, BigDecimal reducao, String motivo)
Neste caso como funcionaria o conceito Open Closed Principle nesta situação ?
Caso eu crie uma nova classe que implemente o ValidacaoReajuste terei que implementar todos os metados da mesma assim não faz muito sentido. ou esse conceito só e valido para metodos com a mesma assinatura ?
Qual seria a melhor solução e o porque ?