Olá pessoal, que tal falar sobre um assunto mais polêmico que política? Mais polêmico do que discutir sobre PES ou FIFA , Xbox ou PS4?
Hoje vamos falar sobre fundamentos dos padrões de projetos.
Todo desenvolvedor já ouviu pelo menos uma vez na vida falar de padrões de projetos ou traduzindo ao inglês Design Patterns.
Mas afinal o que são esses benditos padrões de projetos?
“Um Padrão de Projeto de Software ou Padrão de Desenho de Software, também muito conhecido pelo termo original em inglês, Design Pattern, descreve uma solução geral reutilizável para um problema recorrente no desenvolvimento de sistemas de software orientados a objetos. Não é um código final, é uma descrição ou modelo de como resolver o problema do qual trata, que pode ser usada em muitas situações diferentes. Os Padrões de Projeto normalmente definem as relações e interações entre as classes ou objetos, sem especificar os detalhes das classes ou objetos envolvidos, ou seja, estão num nível de generalidade mais alto.”
Fonte : Wikipédia
Tá, não entendi nada!
Vamos ao Simples:
Padrões de Projeto são soluções para os problemas de desenhos e arquiteturas de software que você pode utilizar de maneiras diversas que você pode utilizar na construção de software independente da linguagem utilizada.
Os 23 padrões de projetos inclusos originalmente da Gang of Four (GoF) são geralmente considerados a base para todos os outros padrões.
Os padrões são classificados geralmente em três grupos: de criação, estruturais e comportamentais.
- Os de criação tomando a parte da criação de objetos e da forma que são instanciados dentro da estrutura do seu código.
- Estruturais, justamente pelo próprio nome. Eles trabalham na estrutura do seu projeto. Definem como será a arquitetura, o esqueleto do seu sistema.
- E comportamentais justamente porque trabalham diretamente no comportamento do seu código. Trabalham dentro dos objetos alterando sua funcionalidade inicial para um novo contexto, no qual você definiu.
Bom, resumidamente é isto. Simples não ?
Nosso intuito neste primeiro momento não é codificar todos os padrões, um por um. Mas prometo que logo logo iremos trabalhar com cada um deles em posts separados.
Aqui vai uma tabela para te ajudar a guiar ( e googlar ) sobre os padrões :
Padrões de Criação | |
Abstract Factory | Cria uma instância de várias famílias das classes |
Builder | Separa a construção do objeto de sua representação |
Factory Method | Cria uma instância de várias classes derivadas |
Prototype | Um exemplo totalmente inicializado a ser copiado ou clonado |
Singleton | Uma classe de que apenas uma única instância pode existir |
Padrões de Estruturação | |
Adapter | Adapta interfaces de diferentes classes |
Bridge | Separa interface de um objeto a partir de sua implementação |
Composite | A estrutura da árvore de objetos simples e compostas |
Decorator | Adicionar responsabilidades a objetos dinamicamente |
Facade | A única classe que representa um subsistema |
Flyweight | Um exemplo de baixo nível usado para o compartilhamento eficiente |
Proxy | Um objeto que representa outro objeto |
Padrões Comportamentais |
|
Chain of Resp. | Uma maneira de passar uma requisição entre uma cadeia de objetos |
Command | Encapsula uma solicitação de comando como um objeto |
Interpreter | Uma maneira de incluir elementos de linguagem em um programa |
Iterator | Sequencialmente acessar os elementos de uma coleção |
Mediator | Define comunicação simplificada entre classes |
Memento | Captura e restaura o estado interno de um objeto |
Observer | Uma maneira de notificar a mudança para um número de classes |
State | Altera o comportamento de um objeto quando seu estado se altera |
Strategy | Encapsula um algoritmo dentro de uma classe |
Template Method | Adia as etapas exatas de um algoritmo para uma subclasse |
Visitor | Define uma nova operação para uma classe sem alteração |
Ufa! É padrão que não acaba mais!
Bom, você pode ir clicando nos links dos padrões, que você poderá ter uma visão bem mais amplificada sobre o assunto. Aliás, todo este artigo foi baseado nos links destes padrões.
Espero que tenham gostado! Logo logo volto com mais código Simples.
Que tal dar uma passada na nossa Fã Page? www.facebook.com/codigosimples