Padrões de Projeto Essenciais: Guia Rápido e Componentes
Classificado em Tecnologia
Escrito em em português com um tamanho de 4,28 KB
Singleton (Criacional)
- Classe Singleton: Possui um construtor privado e um método estático para obter a instância única.
- Variável Estática: Armazena a instância única.
- Utilizador: Chama o método estático para aceder à instância.
Observer (Comportamental)
- Observado: Regista os observadores e notifica-os quando ocorre uma alteração.
- Observador: Interface que define o método de atualização.
- Observador Concreto: Implementa a interface de observador e reage às notificações.
Composite (Estrutural)
- Componente: Interface comum para objetos simples e compostos.
- Simples: Implementa operações básicas do componente.
- Composto: Contém outros componentes e implementa operações que os agregam.
Prototype (Criacional)
- Protótipo: Interface que define o método de clonagem.
- Protótipo Concreto: Implementa a interface de clonagem.
- Criador: Utiliza o protótipo para criar novas instâncias.
Adapter (Estrutural)
- Classe Adaptada: Já existente, mas com interface incompatível.
- Adaptador: Traduz a interface da classe adaptada para o formato esperado pelo cliente.
- Cliente: Utiliza a interface adaptada.
State (Comportamental)
- Estado: Interface para definir o comportamento em diferentes estados.
- Estados Concretos: Implementações específicas da interface de estado.
- Contexto: Delega chamadas de método para o estado atual.
Strategy (Comportamental)
- Estratégia: Interface que define um algoritmo.
- Estratégias Concretas: Implementações específicas do algoritmo.
- Cliente: Utiliza a interface para aplicar a estratégia desejada.
Visitor (Comportamental)
- Visitante: Interface que define operações para diferentes tipos de elementos.
- Visitado: Implementam o método de aceitação para visitantes.
- Visitantes Concretos: Contêm as implementações específicas das operações.
Abstract Factory (Criacional)
- Fábrica Abstrata: Define métodos para criar objetos relacionados.
- Fábricas Concretas: Implementam a criação de objetos específicos de uma família.
- Cliente: Utiliza a fábrica abstrata sem conhecer as classes concretas.
Template Method (Comportamental)
- Superclasse: Define a estrutura do algoritmo e métodos abstratos para passos específicos.
- Subclasses: Implementam os passos personalizados do algoritmo.
Model-View-Controller (MVC) (Comportamental)
- Modelo: Representa a informação e lógica.
- Vista: Apresenta a informação do modelo.
- Controlador: Manipula a interação do utilizador e atualiza o modelo e a vista.
Decorator (Estrutural)
- Componente: Interface comum para os objetos que podem ser decorados.
- Decorado (Objeto Base): Implementação concreta da interface do componente, sendo o objeto original que pode receber funcionalidades adicionais.
- Decorador Base: Possui uma referência ao decorado e implementa a interface do componente, delegando as operações ao decorado.
- Decoradores Concretos: Herdam do decorador base e adicionam novas funcionalidades ao objeto decorado.