- Como Criar Um Site, Blog – WebMaster.pt - http://www.webmaster.pt -

Design Patterns – A Chave Dos Seus Problemas

Tweet [3]

Definição De Design Patterns

Termo freqüentemente visto na programação, design patterns, ou padrões de projeto, são soluções para problemas cotidianos no desenvolvimento de software. Todo padrão de projeto é fortemente embasado em teoria  na resolução de seu problema. Existem dezenas de padrões definidos, e você, ainda irá se deparar com eles!

Normatização De Problemas Comuns.

Apesar de incoerente, mas um fato verídico é que os padrões de projeto não surgiram especificamente no campo da computação. Christopher Alexander [4], originariamente aplicou este conceito em meados da década de 70 na área de arquitetura e urbanismo, onde após vários estudos, passou a conceituar a ciência da computação.

Os elementos desta linguagem são entidades aqui chamadas de padrões. Cada padrão descreve um problema que ocorre repetidamente em nosso ambiente, e então descrevemos a essência da solução deste problema de forma que você possa utilizar um milhão de vezes sem ter que fazer duas vezes o mesmo caminho. Christopher Alexander.

Os padrões de projeto auxiliam em três frentes de atuação no desenvolvimento de software: criação, estrutural e comportamental. Naturalmente sua serventia é meramente base conceitual, portanto, são suas teorias que deverão implicar em programação. No mundo da engenharia de software, isso se torna aplicável a qualquer negócio que bote em prática sua modelagem de objetos.

Figura 1 – E aí? Vai querer re-inventar a roda?

Modelo Ágil De Desenvolvimento

Por estar diretamente ligado a orientação de objetos, seus padrões fornecem um modelo ágil no desenvolvimento. Prova disso são os frameworks, que em geral, desenvolvem seus núcleos, diga-se core da aplicação, bruscamente cobertos por alguma definição de padrão. É esta arquitetura que irá sustentar todo o desenvolvimento do projeto.

Padrões de projeto fornecem uma maneira mais lógica de interagir entre objetos e classes na aplicação. Além disso, os padrões podem envolver outros padrões, e assim, manter um ciclo contínuo no desenvolvimento. É difícil imaginar um mundo na programação que já não se ouça falar em MVC [5], DAO [6] ou Singleton [7]. São populares!

Definitivamente, o desenvolvimento de software se tornou muito mais prático e ágil, a partir do momento que passamos a encarar simples rotinas como modelos de padrões. Isso vai de encontro com o mercado  da tecnologia da informação que se encontra cada vez mais competitivo, mais exigente, e claro, sempre no menor tempo estimado.

Figura 2 – Imaginação mirabolante de um arquiteto de software.

Os 23 Mandamentos Dos Padrões De Projeto.

A Gangue dos Quatro (Gang Of Four, GOF), composta pelos escritores Erich Gamma, Richard Helm, Ralph Johnson e JohnVlissides, foram os responsáveis por descrever os vinte e três padrões básicos no mundo do desenvolvimento de software. Estes padrões são abordados no livro Design Patterns: Elements of Reusable Object-Oriented Software [8], a qual será introduzida em pequenos tópicos:

Padrões de criação

Padrões de estrutura

Padrões de comportamento

É importante destacar que estes foram apenas os primeiros estudos de padrões de projeto. Hoje, cada plataforma demanda outras dezenas padrões que vão muito além. Destes citados, é realidade afirmar que muitos estão presentes no cotidiano do programador. Simplesmente norteiam o rumo do desenvolvimento de software.

Figura 3 – Diagramação de objetos.

Por Onde Começar?

Particularmente, considero padrões de projeto um assunto relativamente extenso de se estudar. É teoria em cima de teoria e chega uma hora que sua cabeça esquenta a ponto de não suportar mais. Uma coisa é você aprender a programar e já ir botando em prática no editor, outra, é você ficar lendo dezenas de paradigmas e não poder de imediato codificar, mas sim,  compreender sua complexidade. Vá devagar! Leve a sério a ideia de interpretar estes padrões para então sabê-los quando aplicar. Diferentemente de linguagens de programação, isto é algo que irá agregar conhecimento em toda sua vida profissional, pois está vivamente presente no desenvolvimento de software.

Configura a recomendação de alguns livros:

PHP
PHP Objects, Patterns, and Practice – Editora Apress [32]

ASP.NET
[33]Professional ASP.NET Design Patterns – Editora Wrox [33]

Java
Core J2EE Patterns: Best Practices and Design Strategies – Editora Prentice Hall [34]

Ruby
Design Patterns in Ruby – Editora Addison Wesley Professional [35]

E claro, fique ligado aqui no portal Webmasters!

Considerações finais.

Esperamos que este sexto artigo da série “ABC” tenha lhe sido útil para preencher mais esta lacuna no mundo do desenvolvimento. Lembramos que o foco dessa série é apenas conceituar os temas, artigos mais especializados do assunto surgirão na medida do possível. Sugestões, críticas e comentários sempre serão bem vindos!

Próximo artigo: Controle de Versão, gestão de arquivos.

Referências bibliográficas.

What Are Design Patterns and Do I Need Them?
http://www.developer.com/design/article.php/1474561/What-Are-Design-Patterns-and-Do-I-Need-Them.htm [36]

GoF Design Patterns – Huston.
http://www.vincehuston.org/dp/ [37]

Design Patterns – Uses of Design Patterns.
http://sourcemaking.com/design_patterns [38]

Gang of Four – Design Patterns: Elements of Reusable Object-Oriented Software
http://c2.com/cgi/wiki?GangOfFour [39]

Tweet [3]
Be Sociable, Share!
  • [40]
  • [41]
  • [42]
  • [43]
  • [44]