Buscar

Aula 12 - Comportamento

Prévia do material em texto

Padrões de Projeto
GoF に Comportamental
 
PADRÕES COMPORTAMENTAIS
• Chain of Responsibility
• Command
• Interpreter
• Iterator
• Mediator
• Memento
• Observer
• State
• Strategy
• Template Method
• Visitor 
CHAIN OF RESPONSABILITY
Chain of Responsability: 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.
E┝Wマヮノラぎ A キミaラヴマ;N?ラ SW さ;テ┌S;ざ Wマ ┌マ
elemento da interface gráfica, tratamento de
Erro em um código
 
CHAIN OF RESPONSABILITY
 
COMMAND
Command: encapsula a requisição de um 
objeto, portanto permitindo que se parametrize
os clientes com diferentes requisições.
Exemplo: Ações que devem ser executadas em
┌マ Iノキケ┌Wが ┌マ さenter ざが ラ┌ ┌マ submit.
 
COMMAND
 
INTERPRETER
Interpreter: 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.
Exemplo: interpretadores de código, 
interpretadores de linguagem simples
E a SIRI, Alexia, Google Assistant???
 
INTERPRETER
 
ITERATOR
Iterator: fornece uma maneira de acessar 
elementos de um objeto agregado 
sequencialmente sem expor sua representação
interna.
Exemplo: Iteradores de listas, de sets, de
enumerations, de arrays...
 
ITERATORS
 
MEDIATOR
Mediator: 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.
E┝Wマヮノラぎ Uマ; Iノ;ゲゲW ケ┌W さa;┣ デ┌Sラざ SWミデヴラ SW
uma API
 
MEDIATOR
 
Memento: captura e externaliza o estado 
interno de um objeto, sem violar seu 
encapsulamento, de maneira que o objeto possa 
ser restaurado posteriormente. 
Exemplo: CTRL+Z
MEMENTO
 
MEMENTO
 
OBSERVER
Observer: 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.
Exemplo: Listeners, Publish-Subscribers,
qualquer elemento HTML que emite eventos...
 
OBSERVER
 
State: permite a um objeto alterar o seu 
comportamento quando o seu estado interno 
for modificado. 
Exemplo: o que acontece quando eu aperto o 
acelerador do meu carro?
STATE
 
STATE
 
Strategy: define uma família de algoritmos, 
encapsula cada um e faz deles intercambiáveis.
Exemplo: a mudança de um algoritmo de 
ordenação em uma coleção
STRATEGY
 
STRATEGY
 
TEMPLATE METHOD
Template Method: define o esqueleto de um 
algoritmo dentro de uma operação, deixando 
alguns passos a serem preenchidos pelas
subclasses.
Exemplo: Faça um Bacon Cheese Burger no
BOBs, no Mc Donalds e no Burger King...
 
TEMPLATE METHOD
 
VISITOR
Visitor: 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.
Exemplo: Carrinho de Compras no Supermecado
 
VISITOR

Continue navegando