Baixe o app para aproveitar ainda mais
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
Compartilhar