gof-gangue of for
Amplamente aceitos como exemplos de arquiteturas a serem seguidas, os modelos conhecidos como padrões de projeto (ou design patternscomo preferir…) ainda são pouco utilizados na construção de novos sistemas ou, quando utilizados, passam despercebidos. Paradoxalmente, é muito incomum encontrar softwares de ampla magnitude que não façam o uso dos padrões estudados pela “gangue dos quatro” de Erich Gamma e seus parceiros. Isso decorre do fato de que padrões de projeto são análises profundas sobre os tipos de soluções mais aplicadas sobre situações frequentes e pontuais, além do mais, o mais importante, é que se tratam de alternativas que deram certo. Assim, quanto maior o grau de conhecimento dos envolvidos com a elaboração de um determinado programa, maiores são as chances de que este atinja seu objetivo de modo mais eficiente e com menor esforço individual.
Neste artigo, e nos subsequentes, pretendo demonstrar como que se faz necessário o entendimento, ao menos superficial, do conceito dos vinte e três padrões de projetos propostos pela equipe formada por: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides e Addison-Wesley a partir da análise da aplicação de cada um deles sobre ferramentas populares em organizações sejam elas com fins lucrativos ou não.
Porém, antes de começar a discorrer sobre o assunto, é importante ressaltar que os padrões “Gang of Four” (GoF) são subdivididos em 3 grupos distintos: os padrões criacionais que lidam com a forma pela qual os objetos são instanciados, os padrões estruturais que dizem respeito ao modo pelo qual as classes devem se organizar e, por fim, os padrões comportamentais que tratam a forma esperada de ação e reação de determinados objetos. Tendo em mente essa organização, agora sim analisaremos casos nos quais