DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da ClubeDelphi DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Artigo Clube Delphi Edição 52 - Engenharia de Software

Artigo da Revista Clube Delphi Edição 52.

Esse artigo faz parte da revista Clube Delphi edição 52. Clique aqui para ler todos os artigos desta edição



Atenção: por essa edição ser muito antiga não há arquivo PDF para download. Os artigos dessa edição estão disponíveis somente através do formato HTML. 

 

Engenharia de Software

Parte 3 – Usando Bold para gerenciar os objetos e persistência

 

A aplicação para administração dos bens de um jogador de Banco Imobiliário, construída no artigo anterior (edição 51), funciona muito bem, satisfazendo a diversos requisitos de negócio. Entretanto, apresenta um problema sério: não salva o estado do jogo. Se o usuário fechar o formulário perderá tudo o que digitou até aquele momento.

Precisamos fazer alguma coisa para gravar as informações que, no caso da programação orientada por objetos estão contidas nos estados dos objetos (nos atributos). Entram em cena os esquemas de persistência.

 

Objetos persistentes

Os conhecedores da hierarquia da VCL ao lerem a palavra persistência, lembraram-se imediatamente da classe TPersistent, descendente direta de TObject. E eles estão corretos! É nessa classe que o mecanismo de gravação e leitura das propriedades dos objetos é definido, utilizando como veículo de transferência de dados um stream (fluxo), que pode ser um arquivo em disco (o DFM, por exemplo) ou uma área em memória.

Podemos gravar nossos objetos seguindo um esquema semelhante a esse usado pelo IDE do Delphi para persistir os formulários e seus componentes. Além desse, existem diversos outros esquemas, como:

  • Mapeamento Objeto-Relacional: armazenam-se os atributos dos objetos em banco de dados relacional. As classes são mapeadas para tabelas equivalentes. Os relacionamentos entre as classes são implementadas através de chaves estrangeiras, tabelas intermediárias, etc.
  • Bancos de dados OO: já existem diversos no mercado, como o Versant e o Cache. Ainda não conquistaram a confiança total dos usuários, mas espera-se um avanço considerável num futuro próximo. Alguns bancos relacionados tradicionais já começaram a oferecer funcionalidades similares;
  • Prevayler (Prevalence Layer): todos os objetos são mantidos na memória. Uma “foto” dos objetos é tirada regularmente e armazenada em um arquivo em disco. No intervalo entre as “fotos”, as alterações são gravadas em arquivos de log, permitindo que a imagem exata seja reconstruída caso a aplicação seja terminada indevidamente. Esse framework foi criado originalmente em Java ("


    ATENÇÃO! A exibição deste artigo foi interrompida.


      Este é um post disponível para assinantes MVP
    Este post também está disponível para assinantes da ClubeDelphi DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!






    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



Publicidade
Autor
Adail Muniz Retamal

Desenvolvedor desde 1983, Engenheiro Eletrônico/Computação, dedica-se sempre ao compartilhamento do conhecimento e da experiência de maneira simples e prática, seja nos artigos, palestras, cursos ou no dia-a-dia com os colegas.


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03