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.

Entradas relacionadas: