0% acharam este documento útil (0 voto)
102 visualizações6 páginas

Design Patterns GoF

Enviado por

lfcs.europe
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
102 visualizações6 páginas

Design Patterns GoF

Enviado por

lfcs.europe
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Design Patterns GoF em Desenvolvimento de Software

Design Patterns GoF em Desenvolvimento de Software

Introdução

Os Design Patterns do Gang of Four (GoF) são um conjunto de soluções comprovadas para

problemas recorrentes no desenvolvimento de software orientado a objetos. Especificados no livro

"Design Patterns: Elements of Reusable Object-Oriented Software" de Erich Gamma, Richard Helm,

Ralph Johnson, e John Vlissides, esses padrões são divididos em três categorias: Criacionais,

Estruturais e Comportamentais. Este livro oferece um resumo de cada uma dessas categorias e

dos padrões específicos dentro delas.

Índice

1. Introdução aos Design Patterns GoF

2. Padrões Criacionais

- Factory Method

- Abstract Factory

- Singleton

- Builder

- Prototype

3. Padrões Estruturais

- Adapter

- Composite

- Proxy

- Flyweight

- Facade

- Bridge
Design Patterns GoF em Desenvolvimento de Software

- Decorator

4. Padrões Comportamentais

- Strategy

- Template Method

- Observer

- Command

- State

- Chain of Responsibility

- Mediator

- Memento

- Iterator

- Visitor

- Interpreter
Design Patterns GoF em Desenvolvimento de Software

Introdução aos Design Patterns GoF

Os Design Patterns do GoF são:

- Criacionais: Lidam com a criação de objetos.

- Estruturais: Lidam com a composição de classes e objetos.

- Comportamentais: Lidam com a interação e responsabilidade entre objetos.


Design Patterns GoF em Desenvolvimento de Software

Padrões Criacionais

- Factory Method: Define uma interface para criar um objeto, mas deixa as subclasses decidirem

qual classe instanciar. Permite a uma classe deferir a instância para subclasses.

- Abstract Factory: Fornece uma interface para criar famílias de objetos relacionados ou

dependentes sem especificar suas classes concretas.

- Singleton: Garante que uma classe tenha apenas uma instância e fornece um ponto de acesso

global a ela.

- Builder: Separa a construção de um objeto complexo de sua representação, permitindo que o

mesmo processo de construção crie diferentes representações.

- Prototype: Permite a criação de novos objetos a partir de um protótipo, clonando-o.


Design Patterns GoF em Desenvolvimento de Software

Padrões Estruturais

- Adapter: Permite que interfaces incompatíveis trabalhem juntas, atuando como um conversor.

- Composite: Permite que você componha objetos em estruturas de árvore para representar

hierarquias parte-todo.

- Proxy: Fornece um substituto ou marcador para controlar o acesso a um objeto.

- Flyweight: Usa compartilhamento para suportar eficientemente grandes quantidades de objetos de

granularidade fina.

- Facade: Fornece uma interface simplificada para um subsistema complexo.

- Bridge: Separa a abstração da implementação, permitindo que ambas variem independentemente.

- Decorator: Anexa responsabilidades adicionais a um objeto dinamicamente, fornecendo uma

alternativa flexível à subclasse.


Design Patterns GoF em Desenvolvimento de Software

Padrões Comportamentais

- Strategy: Define uma família de algoritmos, encapsula cada um deles e os torna intercambiáveis.

- Template Method: Define o esqueleto de um algoritmo na superclasse, permitindo que as

subclasses substituam etapas específicas sem mudar a estrutura do algoritmo.

- 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.

- Command: Encapsula uma solicitação como um objeto, permitindo parametrizar clientes com

diferentes solicitações, enfileirar ou fazer log de solicitações e suportar operações que podem ser

desfeitas.

- State: Permite que um objeto altere seu comportamento quando seu estado interno muda.

- Chain of Responsibility: Evita acoplar o remetente de uma solicitação ao seu receptor, dando a

mais de um objeto a chance de tratar a solicitação.

- Mediator: Define um objeto que encapsula a forma como um conjunto de objetos interage.

- Memento: Sem violar o encapsulamento, captura e externaliza o estado interno de um objeto, de

modo que o objeto possa ser restaurado para este estado mais tarde.

- Iterator: Fornece uma maneira de acessar os elementos de um objeto agregado sequencialmente

sem expor sua representação subjacente.

- Visitor: Representa uma operação a ser realizada nos elementos de uma estrutura de objeto.

- Interpreter: Dado 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.

Você também pode gostar