Aqui estão alguns dos padrões de projeto mais comuns, juntamente com suas intenções:
- Abstract Factory (95): Fornece uma interface para criação de famílias de objetos relacionados ou dependentes sem especificar suas classes concretas.
- Adapter (140): Converte a interface de uma classe em outra interface esperada pelos clientes, permitindo que classes incompatíveis trabalhem juntas.
- Bridge (151): Separa uma abstração da sua implementação, permitindo que ambas variem independentemente.
- Builder (104): Separa a construção de um objeto complexo da sua representação, permitindo que o mesmo processo de construção crie diferentes representações.
- Chain of Responsibility (212): Evita o acoplamento do remetente de uma solicitação ao seu destinatário, permitindo que vários objetos tenham a chance de tratar a solicitação.
- Command (222): Encapsula uma solicitação como um objeto, permitindo que clientes sejam parametrizados com diferentes solicitações e suporte a operações que podem ser desfeitas.
- Composite (160): Compõe objetos em uma estrutura de árvore para representar hierarquias do tipo partes-todo, permitindo que clientes tratem objetos individuais e composições de objetos de maneira uniforme.
- Decorator (170): Atribui responsabilidades adicionais a um objeto dinamicamente, oferecendo uma alternativa flexível à herança para estender funcionalidades.
- Façade (179): Fornece uma interface unificada para um conjunto de interfaces em um subsistema, tornando o subsistema mais fácil de usar.
- Factory Method (112): Define uma interface para criar um objeto, deixando subclasses decidirem qual classe instanciar.
- Flyweight (187): Usa compartilhamento para suportar grandes quantidades de objetos de granularidade fina de maneira eficiente.
- Interpreter (231): Define uma representação para a gramática de uma linguagem e um interpretador que usa essa representação para interpretar sentenças na linguagem.
- Iterator (244): Fornece uma maneira de acessar sequencialmente os elementos de uma agregação de objetos sem expor sua representação subjacente.
- Mediator (257): Define um objeto que encapsula a forma como um conjunto de objetos interage, promovendo o acoplamento fraco.
- Memento (266): Captura e externaliza um estado interno de um objeto sem violar o encapsulamento, permitindo que o estado seja restaurado posteriormente.
- Observer (274): Define uma dependência um-para-muitos entre objetos, de modo que quando um objeto muda de estado, todos os seus dependentes são automaticamente notificados e atualizados.
- Prototype (121): Especifica os tipos de objetos a serem criados usando uma instância prototípica e cria novos objetos copiando esse protótipo.
- Proxy (198): Fornece um objeto representante ou um marcador de outro objeto para controlar o acesso a ele.
- Singleton (130): Garante que uma classe tenha apenas uma instância e fornece um ponto global de acesso a ela.
- State (284): Permite que um objeto altere seu comportamento quando seu estado interno muda.
- Strategy (292): Define uma família de algoritmos, encapsula cada um deles e os torna intercambiáveis.
- Template Method (301): Define o esqueleto de um algoritmo em uma operação, postergando a definição de alguns passos para subclasses.
- Visitor (305): Representa uma operação a ser executada sobre os elementos da estrutura de um objeto.
O catálogo de padrões de projeto
Reviewed by Anderson
on
maio 05, 2024
Rating:

Nenhum comentário: