Este é um pequeno artigo sobre padrões de design em Java. Não haverá implementação de padrões, há apenas uma lista de padrões que existem em java e seu breve conteúdo. Será útil para quem já está no assunto de repetição e generalização. Ou, pelo contrário, para quem abordou os padrões pela primeira vez - para a primeira visão geral do tema, antes de se aprofundar. Os padrões de design (modelos de design) são soluções prontas para uso para problemas de programação encontrados com frequência. Esta não é uma classe ou biblioteca que pode ser conectada a um projeto, é algo mais. Padrões de projeto adequados para a tarefa são implementados em cada caso específico. Deve-se lembrar que tal padrão, se aplicado incorretamente ou ao problema errado, pode causar muitos problemas. No entanto, um padrão aplicado corretamente ajudará a resolver o problema de maneira fácil e simples. Tipos de padrão :
- gerando
- estrutural
- comportamental
- Singleton - limita a criação de uma instância de uma classe e fornece acesso ao seu único objeto.
- Fábrica - Usado quando temos uma superclasse com múltiplas subclasses e com base na entrada, precisamos retornar uma da subclasse.
- Fábrica abstrata - use uma superfábrica para criar uma fábrica e, em seguida, use a fábrica criada para criar objetos.
- Builder - usado para criar um objeto complexo usando objetos simples. Gradualmente ele cria um objeto maior a partir de um objeto pequeno e simples.
- Protótipo - ajuda a criar um objeto duplicado com melhor desempenho, ao invés de um novo, é criado um clone retornado do objeto existente.
- Adaptador é um conversor entre dois objetos incompatíveis. Usando o padrão adaptador, podemos combinar duas interfaces incompatíveis.
- Composto - Usa uma única classe para representar uma estrutura em árvore.
- Proxy – Representa a funcionalidade de outra classe.
- Flyweight - Em vez de criar um grande número de objetos semelhantes, os objetos são reutilizados.
- Fachada - Fornece uma interface simples para o cliente, e o cliente utiliza a interface para interagir com o sistema.
- Bridge - torna as classes concretas independentes das classes de implementação da interface.
- Decorador – Adiciona novas funcionalidades a um objeto existente sem comprometer sua estrutura.
- Método Template - define a base do algoritmo e permite que os sucessores redefinam algumas etapas do algoritmo sem alterar sua estrutura como um todo.
- Mediador - Fornece uma classe mediadora que trata de todas as comunicações entre diferentes classes.
- Cadeia de Responsabilidade - permite evitar a dependência estrita do remetente da solicitação de seu destinatário, enquanto a solicitação pode ser processada por diversos objetos.
- Observador - permite que alguns objetos monitorem e reajam a eventos que ocorrem em outros objetos.
- Estratégia - O algoritmo da estratégia pode ser alterado durante a execução do programa.
- Comando - A interface de comando declara um método para executar uma ação específica.
- Estado - Um objeto pode mudar seu comportamento dependendo de seu estado.
- Visitante - usado para simplificar operações em agrupamentos de objetos relacionados.
- Intérprete - Define uma gramática de linguagem simples para um domínio de problema.
- Iterador - acessa sequencialmente os elementos de um objeto de coleção sem conhecer sua representação subjacente.
- Memento (Keeper) - usado para armazenar o estado de um objeto, este estado pode ser restaurado posteriormente.
GO TO FULL VERSION