No dia 16⁄11 tive a oportunidade de participar da quarta edição da Oficina de Padrões em Linguagens Dinâmicas na filial da ThoughtWorks em São Paulo, que contou com o Luciano Ramalho como facilitador.
O objetivo destes encontros é repensar os Design Patterns apresentados no consagrado livro Design Patterns: Elements of Reusable Object-Oriented Software publicado em 1994 que, embora sejam referência para o C++ e linguagens semelhantes, como Java, podem ser modificados ou até mesmo não aplicáveis em linguagens mais dinâmicas como Python, Javascript e Ruby.
Mas o que são Design Patterns?
Extraído e adaptado da Wikipédia: Design Pattner (em português: Padrões de projeto) é uma solução geral para um problema que ocorre com frequência dentro de um determinado contexto em projetos de software. Um Design Pattern não é um projeto finalizado que pode ser diretamente transformado em código fonte ou de máquina, ele é uma descrição ou modelo (template) de como resolver um problema que pode ser usado em muitas situações diferentes. Design Patterns são melhores práticas formalizadas que o programador pode usar para resolver problemas comuns quando projetando uma aplicação ou sistema.
E o que são Linguagens Dinâmicas?
Em resumo, linguagens de programação são chamadas de dinâmicas (ou de linguagens de script) quando seus tipos de dados não são estáticos, ou seja, podem ser alterados ao longo da execução do programa. Este fato possibilitou que recursos como reflexão, interseção, closure e eval fossem criados, além de melhorar a clareza na sintaxe das linguagens, possibilitar execução de expressões em tempo de execução e muitas outras coisas, fazendo com que as linguagens dinâmicas fossem bastante utilizadas no desenvolvimento ágil.
Para mais informações sobre estas linguagens veja aqui e aqui.
Concluindo
O estudo contínuo faz parte da vida de um bom profissional. E dentre as matérias que mais beneficiam um programador, os Design Patterns certamente estão incluídos. Se este assunto lhe interessa, e você está em São Paulo, venha participar conosco no excelente espaço que a ThoughtWorks disponibiliza para comunidades em plena avenida Paulista.
Além dos eventos há uma organização no GitHub onde serão publicados códigos e artigos relacionados.