A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Memento Grupo Angélica Teixeira Rodrigo Silva

Apresentações semelhantes


Apresentação em tema: "Memento Grupo Angélica Teixeira Rodrigo Silva"— Transcrição da apresentação:

1 Memento Grupo Angélica Teixeira Rodrigo Silva

2 Introdução É um padrão de projeto que permite armazenar o estado interno de um objeto em um determinado momento, para que seja possível retorná-lo a este estado, caso necessário. Também conhecido como Token. Recordação.

3 Objetivos Registrar estado interno de um objeto. Desfazer operações;
Salvar informações de estado;

4 Objetivos Sem violar o encapsulamento, capturar e externalizar um estado interno de um objeto, de maneira que o objeto possa ser restaurado para esse estado mais tarde.

5 Onde usar? Quando desejar salvar uma parte do estado de um objeto, de modo que ele possa ser restaurado para este estado, em um momento futuro. Utilizar uma interface direta para obter o estado iria expor detalhes de implementação e violar o encapsula mento do objeto. Para o armazenamento de estados a serem restaurados de um objeto, como por exemplo, um banco de dados.

6 Desvantagens Armazenar a lista de Memento pode ser caro, computacionalmente. É necessário tomar cuidado para que não seja possível ter acesso ao objeto Memento, pois nada impede que apenas o Caretaker, ou o Originator acessem o estado do Memento.

7 Consequências 1) Preservação das fronteiras do encapsulamento;
2) Simplifica o originador; 3) Uso de memento pode ser computacionalmente caro. 4) Definição de interfaces mínimas e amplas; 5) Custos ocultos na custodia de mementos;

8 Objetos envolvidos na implementação
Originador : Éo objeto cujo estado se deseja capturar. Careotaker: Guarda todos os Memento,  permitindo que eles sejam restaurados. Memento: É o objeto definido dentro da classe Originador, com modificador de acesso privado, cujo estado do objeto originador será armazenado. Cliente é o objeto que acessará o originador, e deseja desfazer qualquer mudança efetuada, caso necessário.

9 Objetos envolvidos na implementação
O mecanismo de desfazer solicitara um memento do originador . O originador inicia um memento com informações que caracterizam o seu estado corrente. Somente originador pode armazenar e recuperar informação do memento.

10 EXEMPLO: Editor de texto
O estado interno do objeto seria, tudo que está sendo digitado pelo usuário. Capturar o estado do texto par que depois ele possa ser reutilizado. Classe Memento manterá mantém a String que representa o texto . Oferece um getter para esta String, permitindo que ela seja recuperada mais tarde.

11 Código:

12 Referencias http://www.dpi.ufv.br/projetos/apri/?page_id=712

13 Perguntas???

14 FIM


Carregar ppt "Memento Grupo Angélica Teixeira Rodrigo Silva"

Apresentações semelhantes


Anúncios Google