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.