Zusammenfassung der Ressource
Padrões de Projetos
- Interface
- Adapter
- Converter a interface de uma classe em outra
interface, esperada pelos clientes. Permite que
classes com interfaces incompatíveis trabalhem em
conjunto.
- Facade
- Fornece uma interface unificada para um
conjunto de interfaces em um subsistema. Define
uma interface de nível mais alto que torna o
subsistema mais fácil de ser usado
- Composite
- Definir uma interface que se aplica a
objetos individuais ou a grupos de
objetos
- Árvore Abstrata
- Bridge
- Desacoplar uma abstração da sua
implementação, tornando-as
independente para variar
- Responsabilidade
- Singleton
- Garantir que uma classe
tenha somente uma
instância e fornece um
ponto global de acesso
para a mesma
- Uma estrutura de Arquivos - Classe única
- Observer
- Definir uma dependência um-para-muitos entre
objetos, de maneira que quando um objeto muda
de estado todos os seus dependentes são
notificados e atualizados automaticamente.
- Broadcast - muda e avisa a galera que mudou
- Mediator
- Centralizar responsabilidade
(ENCAPSULAR) em uma classe
que supervisiona como um
conjunto de outros objetos
interagem
- Diretor
- Proxy
- Fornece um substituto ou
marcador da localização de
outro objeto para controlar o
acesso a esse objeto
- HTML
- C++11
- SmartPointers
- unique_ptr
- shared_ptr
- weak_ptr
- Chain of responsability
- Permitir que uma
requisição passe
por uma sequência
de objetos até
encontrar um que
possa atendê-la
- Flyweight
- Usar compatilhamento para
suportar eficientemente
grandes quantidades de
objetos de granularidade
fina.
- Sopa de Letras
- Construção
- Bilder
- Obter
gradualmente
informações para
construir um objeto
- LEGO - Construir por partes
- Factory Method
- Definir uma interface para criar um objeto,
mas deixar as subclasses decidirem que
classe instanciar. Permite que o cliente seja
desenvolvido sem definir a classe concreta
que será instanciada
- Abstract Factory
- Fornece interface para construção de famílias de
objetos relacionados ou dependentes sem
especificar suas classes concretas
- Prototype
- Especificar os tipos de objetos a serem
criados usando uma instância-protótipo
e criar novos objetos pela cópia desses
protótipos
- Partitura musical
- Memento
- Reconstruir um objeto a
partir de informação de
estado anteriormente
salva
- Ctrl + Z
- Extensão
- Decorator
- Dinamicamente, agregar responsabilidade adicionais a um
objeto. Alternativa flexível ao uso de subclasses para
extensão de funcionalidade
- Iterator
- Provê um modo de acessar sequencialmente os
elementos de uma agregação (coleções) sem
precisar expor sua representação interna
- Vetor[]; Arvore; LinkedList
- Visitor
- Definir uma nova operação para
uma classe em tempo de execução
sem alterar sua estrutura
- Quebra de Encapsulamento!
- Operação
- Template Method
- Definir o esqueleto de um algoritmo em uma
operação, postergando alguns passos para as
subclasses. Subclasses redefinem certos passos de um
algoritmo sem mudar a estrutura do mesmo
- State
- Permite a um objeto alterar seu
comportamento quando o seu
estado interno muda. O Objeto
parecerá ter mudado sua classe
- Conexão TCP
- Strategy
- Permitir definir uma família de
algoritmos, encapsular cada um deles,
e torná-los intercambíveis
- Command
- Encapsular uma solicitação como um
objeto, desta forma permitindo
parametrizar clientes com diferentes
solicitações, enfileirar ou fazer o
registro(log) de solicitações e suportar
operações que podem ser desfeitas
- Interpreter
- Distribuir uma operação de modo que
cada implementação seja aplicável a um
tipo diferente de composição
- Ctrl + F
- Propósitos
- Criação
- Preocupa-se com o
processo de criação de
objetos
- Estrutural
- Composição de
classes ou Objetos
- Comportamental
- Caracterizam as maneiras
pelas quais Classes ou
objetos Interagem e
distribuem responsabilidade