Memento Grupo Angélica Teixeira Rodrigo Silva

Slides:



Advertisements
Apresentações semelhantes
Acompanhamento do Sistema
Advertisements

Nome do Projeto Nome do orientador e do co-orientador Nome do(s) alunos participantes Curso dos alunos no IFG de contato: Seminário de Iniciação.
Java Básico Orientação a Objeto Marco Antonio Software Architect Fev/2008.
Eliane Ferreira Prof. Luciel
Padrão de Projeto Memento
Padrões de Projeto Prototype.
Kleinner Farias e Raphael do Vale
Programação Orientada a Objetos*
Web Services Erika Hmeljevski Estefania Borm Leonardo Malagoli
1 Memento. 2 Há situações em que é necessário registrar o estado interno de um objeto em determinados pontos do processamento. –e.g.: checkpoints e mecanismos.
Eduardo Bezerra Padrões GoF Eduardo Bezerra
Padrões GoF – Factory Method
Tecnologia da Informação Orientação a Aspectos
Introdução a JDBC Eduardo Martins Guerra Instituto Tecnológico de Aeronáutica Curso de Pós-Graduação em Engenharia de Software Programação Distribuída.
Desenvolvimento de Soluções WEB Escopos de uma Aplicação Web
Classes e objetos P. O. O. Prof. Grace.
Padrão de Projeto Chain of Responsability e Template Method
Cidade alfabetizadora: uma proposta de alfabetização por meio do estudo da história local e do cotidiano Álbum de fotografias 2 Praça Santa Terezinha.
Padrão de Projeto Builder
Sistemas Distribuídos
Análise de Sistemas Análise e Projeto Prof. Jeime Nunes Site:
JAVA: Conceitos Iniciais
Rodrigo Cristiano Silva
Aula prática 13 Orientação a Objetos – C++ Parte 1
Aula prática 6 Vetores e Matrizes
Expansão dos Casos de Uso
Rodrigo Cristiano Silva
Programação I Aula 2 (Métodos)
Linguagem de Programação JAVA
Desenvolvimento de Jogos para Iphone
Paradigmas da Programação – Semestre 1 – Aula 2 Professores: Eduardo Mantovani Fábio de Paula.
if669 - Introdução à Programação
Sistemas de Gerenciamento de Educação a Distância Prof. Silvia Helena Cardoso Prof. Renato M. E. Sabbatini.
Prof. Alexandre Monteiro Recife
PROGRAMAÇÃO PARA INTERNET Prof.: Jean Carlo Mendes
Programação Orientada à Objetos
SNAPSHOT PADRÃO DE PROJETO.
SISTEMAS DISTRIBUIDOS Aula 4
Programação Orientada à Objetos
Arquitetura de Desenvolvimento Web MVC vs. Three Tiers
CORBA Apresentação do Padrão CORBA Maurício Maron Mendes Ramiro Pereira de Magalhães
Aplicações Web com Orientação a Objetos
Prof.: Bruno Rafael de Oliveira Rodrigues. Construtor é bloco declarado que é chamado no momento em que o Objeto é criado (instanciado). Todas as classes.
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Sistemas de Gerenciamento de Educação a Distância Prof. Silvia Helena Cardoso Prof. Renato M. E. Sabbatini.
Introdução a Banco de Dados
Introdução a Banco de Dados Aula 04
Automação de Testes de Software
INSTITUIÇÕES DO DIREITO
Paradigmas da Programação – Semestre 2 – Aula 1 Professores: Fábio de Paula Santos Eduardo Mantovani
Gestão da Tecnologia da Informação
Construtores e Destrutores
Treinamento PHP Módulo 1 PHP Básico Waelson Negreiros waelson.com.br “Está conosco o Senhor dos Exércitos”
Factory.
April 05 Prof. Ismael H. F. Santos - 1 Módulo III Padrões GOF: Iterator Professores Eduardo Bezerra –
Programação Distribuída em Java Aula Na aula passada vimos: I/O Sockets.
April 05 Prof. Ismael H. F. Santos - 1 Módulo III Padrões GOF: Memento Professores Eduardo Bezerra –
1 Padrão: Iterador (Iterator) Tipo - “Object behavioral” Objetivo - acessar um agregado sem expor a representação Outros nomes - Cursor.
Estruturas de Dados Murilo Salgado Razoli.
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Servidores.
Plano de Ensino Conceitos e Características Tipos de Banco de Dados
Universidade Federal de Sergipe Departamento de Sistemas de Informação Bruno Cruz Jessica Rodrigo Aragão – ASP.NET MVC 3.
PSW1 Prof. Rafael. Persistência Atividade que permite que o estado de um objeto exista mesmo após a extinção do processo computacional que o criou. Em.
Aula 11 Orientação a Objeto (OO)
Padrões de Projeto Aula 10 – Padrão Façade.
ALUNO: RONI FABIO BANASZEWSKI Model-View-Controller.
Minicurso Java Básico Ruddá Beltrão | Cristian Costa.
Programação para Internet Aula 06 Linguagem Java (Orientação a Objetos – Atributos e Métodos)
Introdução à Orientação a Objetos em Java Prof. Gustavo Wagner (Alterações) Slides originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB.
INTRODUÇÃO A POO Dilvan Moreira. Por que estudar POO?  Escrever código é fácil  Entender código é difícil  Boa organização e um bom projeto do código.
Transcrição da apresentação:

Memento Grupo Angélica Teixeira Rodrigo Silva

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.

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

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.

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.

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.

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;

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.

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.

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.

Código:

Referencias http://www.dpi.ufv.br/projetos/apri/?page_id=712 http://www.ic.unicamp.br/~vanini/mc857/PadroesDeProjeto.pdf http://brizeno.wordpress.com/category/padroes-de-projeto/memento/ https://www.google.com.br/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&cad=rja&ved=0CE4QFjAE&url=http%3A%2F%2Fwww.wiki.ifba.edu.br%2Fads%2Ftiki-download_file.php%3FfileId%3D252&ei=bz-KUoS0I4WskAfnyoDgCA&usg=AFQjCNGm91QL9aNBlbvbgkgns0KPG9IWPQ&sig2=MKV4VY0wsHFoT_guFbvjyA&bvm=bv.56643336,d.cWc http://www.inf.ufg.br/~fabrizzio/web/java/aula9.pdf

Perguntas???

FIM