Padrões de projetos
O conceito de padrões de projetos foi originalmente concebido pelo arquiteto austríaco Christopher Alexander, em meados da década de 1970.
O que levou Alexander a realizar este estudo foi o fato de que ele gostaria de descobrir se havia alguma regra que pudesse especificar quando uma construção é de boa ou de má qualidade.
A partir deste estudo, Alexander começou a levantar pontos que estavam presentes em construções boas e não estavam nas ruins e vice versa.
Com estes dados em mãos ele começou a elaborar diversas propostas para a solução de problemas comuns dentro da engenharia e da arquitetura.
Tendo isso em mente podemos afirmar que um padrão de projeto nada mais é do que uma forma prevista, estruturada e documentada de solucionar um dado problema que é bastante comum.
No início da década de 1990, a GoF (Gang of Four – Gangue dos Quatro), formada por Eric Gamma, Richard Helm, Ralph Johnson e John Vlissides percebeu que as técnicas publicas por Alexander iam muito além do objetivo de padronizar a criação arquitetônica.
O que é um processo de desenvolvimento de sistemas?
Era possível identificar padrões que iriam auxiliar na resolução dos problemas comumente encontrados durante o desenvolvimento de softwares.
Lançaram então o Design Patterns: Elements of Reusable Object-Oriented Software, livro este que tornou-se a maior influência sobre a comunidade de desenvolvimento de softwares da época (e que perdura até hoje).
Ao todo são citados 23 padrões, divididos em três categorias: criacionais, estruturais e comportamentais.
Por que estudar Padrões de Projeto?
Eis alguns bons motivos de porque você deve investir tempo de estudo nestes padrões:
» Reutiliza ao invés de redescobrir: todos os padrões já foram previamente testados e implementados em projetos que deram certo;
» Otimiza a comunicação entre os desenvolvedores: unifica a língua que é falada entre os envolvidos no projeto, pois todos tem ciência dos termos empregados;
» Facilita a análise: quando você iniciar a análise já terá base e estará bem direcionado ao que implementar no seu projeto;
» Proporciona alterações menos dolorosas: uma vez que existe uma padronização, as alterações tornam-se mais simples devido às estruturações do projeto;
» Desestimula o uso de herança: delegar é melhor do que estender – a GoF não condena de maneira alguma o uso de herança, mas recomenda que se dê preferência pela extensão por delegação caso queira escrever código reusável.
A herança não é totalmente desencorajada, até porque um bom sistema usa tanto delegação quanto herança;
» Aumenta a confiabilidade;
» Reduz a complexidade do código;
Como dividem-se os padrões?
Para uma melhor organização dos padrões apresentados, eles foram divididos conforme a aplicação de cada um. As três categorias distintas dos padrões de projeto são:
» Criacionais: abstraem e escondem o processo de instanciação. O sistema torna-se independente da maneira como o objeto é composto, construido e representado;
» Estruturais: trabalham com a composição de classes e objetos, definindo a relação entre ambos;
» Comportamentais: definem como os objetos irão se comportar e padroniza a comunicação que haverá entre os objetos dentro da estrutura do projeto.
Fonte: http://www.phpit.com.br/categoria/padroes-de-projeto
Conheça a Danki Club e tenha acesso a uma infinidade de cursos na área de programação web, Android e IOS. Desenvolvimento de games, Blockchain e criptomoedas. Produtividade, marketing, empreendedorismo e muito mais!
Link do curso: https://go.hotmart.com/K70275475L
Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits