Neste repositório existem exemplos de utilização de padrões de projeto implementados em Java. Para saber mais informações sobre os problemas abordados em cada um dos projetos veja o site: brizeno.wordpress.com/padroes A lista de padrões já implementados: Strategy Separando os dados dos algoritmos para alcançar a reusabilidade! Decorator Incrementando funcionalidades dinamicamente! Composite Tratando todos os objetos com justiça! Iterator Percorrendo um conjunto de dados independente da implementação! Factory Method Criando objetos on the fly com alta flexibilidade! Abstract Factory Criando famílias de objetos on the fly com alta flexibilidade! Template Method Definindo algoritmos extensíveis! Singleton Centralizando e compartilhando recursos! Builder Construindo o produto passo-a-passo! Proxy Redirecionando o acesso aos objetos! Adapter Plugando conteúdo ao sistema! Bridge Separando implementações de abstrações em prol da flexibilidade! Observer Compartilhando recursos de maneira inteligente! Mediator Simplificando relacionamentos complexos! Command Transformando requisições em objetos! Memento Externalizando estados sem quebrar o encapsulamento! Flyweight Compartilhando pequenos recursos para economizar espaço! Facade Simplificando a utilização de subsistemas complexos! Interpreter Definindo uma gramática e um interpretador! State Simplificando a troca de estados internos de um objeto! Visitor Separando operações de estruturas! Prototype Criando objetos por cópia de uma instância!