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

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

Trabalho de Persistência para o EPOS. Propostas para a Solução Proposta 1: Usar templates, para que quando o usuário deseje que um objeto seja persistente,

Apresentações semelhantes


Apresentação em tema: "Trabalho de Persistência para o EPOS. Propostas para a Solução Proposta 1: Usar templates, para que quando o usuário deseje que um objeto seja persistente,"— Transcrição da apresentação:

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


Carregar ppt "Trabalho de Persistência para o EPOS. Propostas para a Solução Proposta 1: Usar templates, para que quando o usuário deseje que um objeto seja persistente,"

Apresentações semelhantes


Anúncios Google