O que é Design Patterns?
E padrão de projeto horas! 🙂
Quem nunca se pegou pensando o que era esse famigerado Design Patterns, levanta a mão.
Explicação chata em inglês traduzido porcamente pelo google tradutor:
“Em engenharia de software , um design Patterns é uma solução geral reutilizável para um problema que comumente ocorrem dentro de um determinado contexto em design de software . Um padrão de design não é um projeto acabado que pode ser transformado diretamente em código . É uma descrição ou modelo de como resolver um problema que pode ser usado em muitas situações diferentes. Object-oriented design patterns tipicamente mostram relacionamentos e interações entre as classes ou objetos , sem especificar as classes aplicação final ou objetos que estão envolvidos. Muitos padrões implica orientação a objetos ou, mais geralmente estado mutável, e assim pode não ser tão aplicável em programação funcional línguas, no qual os dados são imutáveis ou tratado como tal.”
http://en.wikipedia.org/wiki/Design_pattern_(computer_science)
Bem! Então pessoal ficou claro?…
Calma! Brincadeira…
Vou tentar dar uma definição mais abrasileirada sobre o tema.
Imagine que você tem um problema, que é produzir um refrigerante de Cola que não seja exageradamente doce, combinado com uma leve sensação de azedinho, que apesar de não matar a sede deixe momentaneamente a impressão de que matou. Ai você coloca a mão não cabeça, respira fundo e começa a maldizer toda sua geração, começa a testar ingredientes, sai dando paulada pra todo lado, perde alguns fios de cabelo.
Ai eu chego pra você e digo que a Coca-Cola esta fornecendo sua receita livremente (aqui viajamos um pouco). Bem a receita da Coca-Cola pode ser considerada de forma grosseira a um Design Patterns, dos refrigerantes.
-Poxa cara agora e que não entendi nada!
Bem vou tentar tornar mais simples, quando você sai tentando dar solução a um problema qualquer, você pode ate chegar ao resultado esperado, mas antes você sofre muito passando por problemas que outros já vivenciaram (no caso a fabrica da Coca-Cola).
Bem ai que entra um Design Patterns, ele é essa experiência formatada em padrões, soluções de problemas que outros já resolveram com determinada linha de pensamento e comportamento e que se provou ser eficiente (quer coisa mais eficiente que a Coca-Cola?), transformado em padrões de projetos.
O Padrão de projeto não e a solução certa para determinado assunto, simplesmente é a que se mostrou bastante eficiente e que já solucionou muitos problemas que sem ele teríamos que ir por tentativa e erro ate conseguir um resultado aceitável.
Bem! Essa e uma introdução. Espero logo ter tempo de escrever sobre alguns desses padrões e dar exemplos práticos.
Ate galera…