Padrões de Projeto Flashcards
Tipos e definições dos padrões
Padrão em que se preocupam com a forma como classes e objetos são compostos para formar estruturas maiores.
Padrões estruturais.
Os de classes utilizam a herança para compor interfaces ou implementações, e os de objeto descrevem maneiras de compor objetos para obter novas funcionalidades.
Padrão em que se concentram nos algoritmos e atribuições de responsabilidades entre os objetos. Eles não descrevem apenas padrões de objetos ou de classes, mas também os padrões de comunicação entre os objetos.
Padrões comportamentais
Padrões que abstraem e/ou adiam o processo criação dos objetos. Eles ajudam a tornar um sistema independente de como seus objetos são criados, compostos e representados.
Padrões de criação
Um padrão de criação de classe usa a herança para variar a classe que é instanciada, enquanto que um padrão de criação de objeto delegará a instanciação para outro objeto.
define uma interface para criar um objeto, mas deixa as subclasses decidirem qual classe instanciar.
Factory Method
Padrões de criação
especifica os tipos de objetos para criar usando uma instância como protótipo e cria novos objetos copiando este protótipo.
Prototype
Padrões de criação
fornece uma interface para criar famílias de objetos relacionados ou dependentes sem especificar suas classes concretas.
Abstract Factory
Padrões de criação
garante que uma classe tenha apenas uma instância e provê um ponto de acesso global a ela.
Singleton
Padrões de criação
separa a construção de um objeto complexo da sua representação, de forma que o mesmo processo de construção possa criar diferentes tipos de representações.
Builder
Padrões de criação
usa compartilhamento para suportar eficientemente grandes quantidades de objetos de baixa granularidade.
Flyweight
Padrões estruturais.
provê um substituto ou ponto através do qual um objeto pode controlar o acesso a outro objeto.
Proxy
Padrões estruturais.
oferece uma interface unificada para um conjunto de interfaces em um subsistema, definindo uma interface de alto nível que facilita a utilização do subsistema.
Facade
Padrões estruturais.
desacopla uma interface de sua implementação, de forma que ambas possam variar independentemente.
Bridge
Padrões estruturais.
converte a interface de uma classe em outra interface que normalmente não poderiam trabalhar juntas por serem incompatíveis.
Adapter
Padrões estruturais.
compõe objetos em estruturas de árvore para representar hierarquias parte-todo, permitindo aos clientes tratarem objetos individuais e composições de objetos uniformemente.
Composite
Padrões estruturais.
anexa responsabilidades adicionais a um objeto dinamicamente. Fornece uma alternativa flexível em relação à herança para estender funcionalidades.
Decorator
Padrões estruturais.
captura e externaliza o estado interno de um objeto, sem violar seu encapsulamento, de maneira que o objeto possa ser restaurado posteriormente.
Memento
Padrões Comportamentais
representa uma operação a ser realizada sobre elementos de uma estrutura de objetos e permite definir uma nova operação sem mudar as classes dos elementos sobre os quais opera.
Visitor
Padrões Comportamentais
define o esqueleto de um algoritmo dentro de uma operação, deixando alguns passos a serem preenchidos pelas subclasses.
Template Method
Padrões Comportamentais
define um objeto que encapsula a forma como um conjunto de objetos interagem, promovendo um fraco acoplamento ao evitar que objetos se refiram aos outros explicitamente.
Mediator
Padrões Comportamentais
define uma dependência um-para-muitos entre objetos para que, quando um objeto mudar de estado, os seus dependentes sejam notificados e atualizados automaticamente.
Observer
Padrões Comportamentais
define uma família de algoritmos, encapsula cada um e faz deles intercambiáveis.
Strategy
Padrões Comportamentais
encapsula a requisição de um objeto, portanto permitindo que se parametrize os clientes com diferentes requisições.
Command
Padrões Comportamentais
evita o acoplamento do remetente de uma requisição ao seu receptor ao dar a mais de um objeto a chance de lidar com a requisição.
Chain of Responsibility
Padrões Comportamentais
fornece uma maneira de acessar elementos de um objeto agregado sequencialmente sem expor sua representação interna.
Iterator
Padrões Comportamentais
permite a um objeto alterar o seu comportamento quando o seu estado interno for modificado.
State
Padrões Comportamentais
dada uma linguagem, define uma representação para sua gramática em conjunto com um interpretador que utiliza a representação para interpretar sentenças na linguagem.
Interpreter
Padrões Comportamentais