O que é?
Temos a definição de desing pattern no nosso mundo de desenvolvedores como:
“Design patterns are recurring solutions to software design problems you find again and again in real-world application development.”
“Design patterns são soluções recorrentes para problemas que você encontra varias vezes no mundo de desenvolvimento de software”.http://www.dofactory.com/Patterns/Patterns.aspx
Para conseguirmos entender melhor o conceito escolhemos pensar em algo que abrangesse mais que o mundo do desenvolvimento de software e chegamos a seguinte definição :
“Design patterns são soluções documentadas para problemas comuns”.
Agora imagine você quantos “design patterns” você já utiliza no seu dia-a-dia em diversas situações, como por exemplo: diriginto, arrumando um armário de louça, etc...
Nessas situações usamos varias “soluções padrões” que no caso não estão documentadas, mas são de conhecimento comum, para atingirmos nossos objetivos de forma eficaz e eficiente.
Por que usar?
Se eu tenho um problema/necessidade e tenho uma solução para ele, não me dar ao trabalho de desenvolver outra solução.
Sempre ouvimos dizer “aprenda com os erros dos outros” e quando usamos design pattern estamos fazendo exatamente isso.Usamos um conhecimento que foi desenvolvido para solucionarmos nossa dificuldade.
Padronizando a resolução desses problemas construímos um produto melhor com manutenabilidade melhor.
Exemplo: Para nossa necessidade de dirigir usamos varias soluções padrões, como dar seta ou dirigir pela direita.Imaginem se cada motorista ao em vez de seguir estas soluções padrões resolvesse inventar suas próprias soluções...
O caus que imaginamos é o que tentamos evitar aplicando design patterns no desenvolvimento dos nossos produtos.
Quando usar?
Para que possamos aplicar com êxito uma solução temos que conhecer afundo o problema e a solução que tentamos aplicar.
Analisando os dois pontos saberemos o quanto poderemos aplicar da solução proposta e como faremos isso.
Até a próxima pessoal.
Você precisa ser um membro de Codificando .Net para adicionar comentários!
Entrar em Codificando .Net