1 / 14

SNAPSHOT

SNAPSHOT. PADRÃO DE PROJETO. SNAPSHOT. Origem. O padrão Snapshot é originado do Memento, documentado em GoF ( Gang of Four) 95. A grosso modo a tradução para o português brasileiro seria “Instantâneo”. SNAPSHOT. Objetivo.

Download Presentation

SNAPSHOT

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SNAPSHOT PADRÃO DE PROJETO

  2. SNAPSHOT Origem • O padrão Snapshot é originado do Memento, documentado em GoF (Gang ofFour) 95. • A grosso modo a tradução para o português brasileiro seria “Instantâneo”.

  3. SNAPSHOT Objetivo • Capturar o estado de um objeto sendo que o mesmo poderá ser restaurado quando necessário.

  4. SNAPSHOT Aplicação • O Snapshot é utilizado quando se está trabalhando com aplicações longas que não se tem ideia de quantos dias irá levar para se concluir. • Exemplo: Jogo de vídeo-games onde o jogador vai passando por fases, salva o jogo e quer retomar de onde parou dias atrás.

  5. SNAPSHOT Aplicação (Exemplo)

  6. SNAPSHOT Funcionamento • O Snapshot pode ser implementado de duas maneiras: através do Memento ou com Serialização.

  7. SNAPSHOT Estrutura Genérica Snapshot Usando Memento

  8. SNAPSHOT ParticipantesSnapshot Usando Memento • Originator:é uma classe cuja as informações do estado deve ser conservado e restaurado. • Memento:Seu objetivo é encapsular snapshots do estado de um objeto Originator. • Caretaker:Instâncias desta classe mantêm uma coleção de objetos de Memento.

  9. SNAPSHOT Estrutura Genérica Snapshot Usando Serialização

  10. SNAPSHOT ParticipantesSnapshot Usando Serialização • Target: É o objeto alvo da serialização e desserialização. • ObjectOutputStream: descobre e acessa as informações de um objeto Target e grava-o em um fluxo de bytes com informações adicionais. • OutputStream: Instância responsável por diferenciar entre salvar na memória ou em forma de arquivo. • ObjectInputStream: instâncias dessas classes serializadas lêem informações do estado a partir de um fluxo de bytes e restauram-no.

  11. SNAPSHOT Consequências • As duas formas de implementar o padrão Snapshot trazem muito da complexidade de salvar e restaurar o estado de um objeto. • O padrão Snapshot não é muito apropriado para desfazer uma sequência de comandos. Fazendo muitos snapshots de um objeto ele pode consumir uma quantidade grande de armazenamento.

  12. SNAPSHOT Exemplo Genérico

  13. SNAPSHOT Referências • GRAND, Mark. Patterns in Java: a Catalog of Reusable Desing Patterns Illistrated with UML. Vol. 1. Wiley, 1998. • http://www.pg.cefetpr.br/coinf/simone/patterns/memento.php • http://eulerhm.googlepages.com/PadresdeProjeto-Comportamentais.pdf • http://martinfowler.com/ap2/snapshot.html

  14. SNAPSHOT Componentes • Rick Andrade • Vagner Fonseca • Yuri Guimarães • Projeto Avançado de Sistemas

More Related