Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouLeila Marroquim Conceição Alterado mais de 8 anos atrás
1
Trabalho de Persistência para o EPOS
2
Propostas para a Solução Proposta 1: Usar templates, para que quando o usuário deseje que um objeto seja persistente, basta instanciá-lo da forma Persistent(). Vantagem: Maior facilidade para o usuário. Problema: C++ não da suporte a reflexão.
3
Propostas para a Solução Proposta 2: Usar um modificador, onde o usuário precisaria apenas declarar “persistent objeto”. Vantagem: Maior facilidade para o usuário. Problema: Para que isso seja possível, precisaríamos alterar o compilador, que não é o foco dessa disciplina.
4
Propostas para a Solução Proposta 3: Criar uma classe Persistent, que precisará ser extendida por todos os objetos que forem persistentes. Vantagem: Possibilidade de ser implementada. Desvantagens: Mais complexo para o usuário, já que ele precisará possuir um maior conhecimento de como foi implementada a persistência para implementar os métodos abstratos.
5
Implementação Foi escolhida a Proposta 3 por ser a única implementável. Será criada uma classe persistente para cada classe do SO utilizável pelo usuário, que extenderá a classe Persistent. Todo objeto que extender a classe Persistent deve implementar o método serialize(in fields : ClassFields*).
6
Implementação Foi criada uma interface Memory para que diferentes tipos de memória possam ser utilizados, bastando implementar os métodos save, load e size.
7
Implementação A classe PersistenceManager vai gerenciar a geração de novos id's e o armazenamento dos objetos através da interface Memory. a classe de interface a memória, podendo troca-la para outa classe da mesma ou de outra memória.
8
Armazenamento dos dados Quando for definida a memória a ser utilizada através do método setMemory, o PersistenceManager carregará o índice de objetos da memória. A primeira posição da memória conterá o tamanho do índice. Cada elemento do índice será composto de: identificador, endereço e tamanho.
9
Diagrama de classes
10
Sequência - Load
11
Sequência – Save
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.