Suponha que em uma organização existe um conjunto de cargos ...
Suponha que em uma organização existe um conjunto de cargos e para cada cargo existem regras de cálculo da taxa de produtividade, cujo valor é determinado por uma porcentagem do salário base do funcionário. Este valor é acrescido ao salário do funcionário como um bônus. Um desenvolvedor deve criar uma solução que utilize um design pattern (padrão de projeto) cuja intenção é: “definir uma família de algoritmos, encapsular cada uma delas e torná-las intercambiáveis. O padrão de projeto permite que o algoritmo varie independentemente dos clientes que o utilizam”. Ou seja, o padrão sugere que algoritmos parecidos (métodos de cálculo da taxa de produtividade) sejam separados de quem os utiliza (funcionário). O padrão, além de encapsular os algoritmos da mesma família, também permite a reutilização do código. Nesta situação, caso a regra para cálculo da taxa de produtividade de dois tipos de funcionários, como Desenvolvedor e DBA, seja a mesma, não é necessário escrever código extra. Caso seja necessário incluir um novo cargo, basta implementar sua estratégia de cálculo da taxa ou reutilizar outra similar. Nenhuma outra parte do código precisa ser alterada.
O design pattern mencionado na situação apresentada é