Pular para o conteúdo
O Complemento de Dois
  • Concursos
  • Calculadora
  • Estudos
  • Discord
  • Publicações
Home / Engenharia de Software / Padrões de Projeto GoF

Padrões de Projeto GoF

Os padrões de projeto do GoF (Gang of Four) são divididos em três grandes categorias: Criacionais (como os objetos são criados), Estruturais (como classes e objetos se compõem) e Comportamentais (como os objetos interagem e distribuem responsabilidades).

1. Padrões Criacionais

Focam em abstrair o processo de criação de objetos, tornando o sistema independente de como seus objetos são criados, compostos e representados.

  • Abstract Factory: Fornece uma interface para criar famílias de objetos relacionados ou dependentes sem especificar suas classes concretas.
  • Builder: Separa a construção de um objeto complexo da sua representação, permitindo que o mesmo processo de construção crie diferentes representações.
  • Factory Method: Define uma interface para criar um objeto, mas deixa as subclasses decidirem qual classe instanciar.
  • Prototype: Especifica os tipos de objetos a serem criados usando uma instância “protótipo” e cria novos objetos copiando este protótipo.
  • Singleton: Garante que uma classe tenha apenas uma instância e fornece um ponto de acesso global a ela.

2. Padrões Estruturais

Lidam com a composição de classes e objetos para formar estruturas maiores e mais eficientes.

  • Adapter: Converte a interface de uma classe em outra interface esperada pelos clientes, permitindo que classes incompatíveis trabalhem juntas.
  • Bridge: Desacopla uma abstração de sua implementação, de modo que as duas possam variar independentemente.
  • Composite: Agrupa objetos em estruturas de árvore para representar hierarquias partes-todo, permitindo tratar objetos individuais e composições de forma uniforme.
  • Decorator: Dinamicamente adiciona responsabilidades adicionais a um objeto, servindo como uma alternativa flexível à herança.
  • Facade: Fornece uma interface unificada e simplificada para um conjunto de interfaces em um subsistema complexo.
  • Flyweight: Usa compartilhamento para suportar eficientemente grandes quantidades de objetos de formato fino (evitando consumo excessivo de memória).
  • Proxy: Fornece um substituto ou marcador de lugar para outro objeto para controlar o acesso a ele.

3. Padrões Comportamentais

Concentram-se nos algoritmos e na atribuição de responsabilidades entre os objetos, além de como eles se comunicam.

  • Chain of Responsibility: Evita o acoplamento do remetente de uma solicitação ao seu receptor, dando a mais de um objeto a chance de tratar a solicitação em cadeia.
  • Command: Encapsula uma solicitação como um objeto, permitindo parametrizar clientes com diferentes solicitações, enfileirar ou registrar solicitações e suportar operações que podem ser desfeitas.
  • Interpreter: Dada uma linguagem, define uma representação para sua gramática junto com um interpretador que usa a representação para interpretar sentenças na linguagem.
  • Iterator: Fornece uma maneira de acessar sequencialmente os elementos de um objeto agregado sem expor sua representação subjacente.
  • Mediator: Define um objeto que encapsula como um conjunto de objetos interage, promovendo o acoplamento fraco ao evitar que os objetos se refiram uns aos outros explicitamente.
  • Memento: Sem violar o encapsulamento, captura e externaliza o estado interno de um objeto para que o objeto possa ser restaurado para este estado mais tarde.
  • Observer: Define uma dependência um-para-muitos entre objetos, de modo que quando um objeto muda de estado, todos os seus dependentes são notificados e atualizados automaticamente.
  • State: Permite que um objeto altere seu comportamento quando seu estado interno muda, parecendo que o objeto mudou de classe.
  • Strategy: Define uma família de algoritmos, encapsula cada um deles e os torna intercambiáveis, permitindo que o algoritmo varie independentemente dos clientes que o utilizam.
  • Template Method: Define o esqueleto de um algoritmo em uma operação, adiando a implementação de alguns passos para as subclasses.
  • Visitor: Desacopla o algoritmo dos objetos sobre os quais ele opera. Permite adicionar comportamentos novos a objetos existentes sem mexer no código desses objetos.
Categorias: Engenharia de Software
Tags: gof, padrões
Publicado em: 01/06/2026 21:08 e Atualizado em: 01/06/2026 21:08

Compartilhe este post:

Facebook Twitter LinkedIn WhatsApp

Navegação de Post

Post anterior: Programação Orientada a Objetos (POO)

Posts Recentes

  • GoF
    Padrões de Projeto GoF1 de junho de 2026
  • POO
    Programação Orientada a Objetos (POO)1 de junho de 2026
  • CMMI-20
    CMMI-DEV v2.031 de maio de 2026
  • RUP
    RUP (Rational Unified Process)31 de maio de 2026
  • scrum
    Scrum31 de maio de 2026
  • Política de privacidade

2026. O Complemento de Dois. Todos os direitos reservados.