Nesta semana o tema da vez é Strategy, um dos design patterns mais famosos e usados no mundo, mas afinal o que são design patterns ? Para que servem ? Venha descobrir conosco logo mais.
O que são design patterns?
Em 1994, quatro engenheiros de software escreveram o livro “Design Patterns: Elements of Reusable Object-Oriented Software” com o objetivo de catalogar problemas comuns aos projetos de desenvolvimento de software e as formas de resolver esses problemas. Os autores catalogaram 23 padrões que utilizaram ao longo de suas carreiras, que posteriormente, ficaram conhecidos por a “Gang of Four” (GoF).Proporcionando assim, a criação de outros livros com este mesmo intuito.
Design Patterns ou padrões de projetos são soluções generalistas para problemas recorrentes durante o desenvolvimento de um software. Não se trata de um framework ou um código pronto, mas de uma definição de alto nível de como um problema comum pode ser solucionado.
As principais vantagens de usar algum design pattern são: utilizar modelos já testados buscando o ganho de produtividade, ter um código mais manutenível, organizado e com o mínimo de acoplamento. Além disso vários design patterns são tão famosos que em uma conversa só utilizar o nome de algum deles já basta para o entendimento.
Strategy
O strategy é um padrão comportamental de projeto, que permite a mudança de comportamento de um conjunto de classes em tempo de execução, fazendo com que seus objetos operem de forma diferente dependendo da operação a ser realizada. Tipicamente usado para melhorar manutenção do código, distribuir as responsabilidades de cada classe, encapsular algoritmos similares em uma tomada de decisão, entre outros.
Vamos a um exemplo, considere um programa simples para calcular alguns impostos sobre algum orçamento.