Referat Tratarea persistentei in MFC



Referat downloadat de: 96 ori.


Cauta referat dupa: tratarea persistentei


Descriere referat:

Biblioteca de clase MFC ofer? suport pentru implementarea persisten?ei obiectelor prin intermediul serializ?rii. Serializarea reprezint? procesul de transformare a unei structuri de date într-un flux liniar de bi?i, iar procesul invers, de recuperare a structurii de date dintr-un flux de bi?i poart? numele de deserializare. Serializarea este folosit? pentru: - stocarea unei structuri de date într-o memorie persistent? (ex. stocarea sub forma de fi?ier pe suport magnetic); - transferul unei structuri de date (ex. prin conexiunile unei re?ele). Pentru fiecare clas? ce se dore?te s? implementeze obiecte persistente se va defini o func?ie membru, numit? Serialize(), care este responsabil? de serializarea/deserializarea variabilelor membru ale acesteia. Implementarea func?iei Serialize() pentru o clas? anume implic? determinarea variabilelor membru ale clasei care vor fi salvate astfel încât starea unui obiect s? poat? fi recuperat? în întregime. În unele cazuri variabilele membru care trebuie stocate reprezint? valori ale unor tipuri simple sau tablouri de mici dimensiuni. Problema devine mai dificil? în momentul în care variabilele membru care se salveaz? reprezint? instan?e ale altor clase sau chiar pointeri c?tre astfel de instan?e. Din fericire, MFC permite efectuarea salv?rii într-un mod simplu ?i uniform pentru toate cazurile amintite mai sus. În general, o clas? care suport? serializarea este derivat? din clasa CObject a bibliotecii de clase MFC (dac? sunt serializate referin?e spre obiectele clasei acest lucru este obligatoriu). La nivelul clasei COject este definit? o func?ie membru virtual? numit? Serialize() având urm?toarea signatur?: virtual void Serialize(CArchive& ar); În MFC scrierea ?i citirea de date într-un ?i dintr-un fi?ier se realizeaz? prin intermediul unui obiect care poart? numele de arhiv? ?i care este o instan?? a clasei CArchive (figura 1). Fiecare func?ie Serialize() implementat? într-o clas? are ca ?i parametru o referin?? c?tre o instan?? a unei astfel de arhive. Figura 1. Clasa CArchive Fiecare arhiv? con?ine o referin?? c?tre un fi?ier ?i, pe m?sur? ce obiectele sunt incluse în ea, va avea grij? s? ata?eze fi?ierului ?irul de bi?i corespunz?tor. Într-o aplica?ie contruit? pe baza arhitecturii document-view, clasa document va con?ine func?ia Serialize() care va fi apelat? ori de câte ori este necesar? salvarea sau înc?rcarea într-un fi?ier (de exemplu, ca r?spuns la comenzile ‘Open’ sau ‘Save’ din meniul ‘File’). Implementarea corect? a acestei func?ii pentru a realiza stocarea ?i recuperarea tuturor obiectelor con?inute în document depinde strict de programator. Pentru a în?elege mai u?or modul de implementare a persisten?ei s? lu?m un exemplu în care avem o clas? care reprezint? angaja?ii unei companii. Pentru a reduce din complexitate (dar f?r? a restrânge generalitate), vom considera ca atribute ale unui angajat doar numele ?i vârsta sa, l?sând de asemenea la o parte func?iile membru din interfa?a clasei:

Alte referate din materia: Informatica

Nr. Nume referat Hits
1 TkkvMlabSupl 10
2 qzpymq@dxuzju.com 111
3 email@gmail.com 224
4 pfuqxd@exjswl.com 249
5 ncqcez@hdtnnq.com 218
6 Hard 677
7 ISTORIA INTERNET-ULUI 745
8 Impera 423
9 Info Doc 479
10 Info-TIRON 432
11 Informatica - Grafica pentru web 892
12 Informatica - Introducere in HTML 662
13 Initiere in pc 657
14 Instalarea sistemului de operare Windows 551
15 Internetul ca sursa de comunicare 535
16 Istoria Internetului 568
17 Istoria calculatorului 491
18 Istoria metodelor de proiectare 327
19 Java visavis de C++ 364
20 Java vizavi de C 299
21 LIMBAJUL DE PROGRAMARE PASCAL - Programul defineste tipul salariat, o inregistrare cu variante, valorile citite fiind salvate in fisierul salariat.dat 0
22 Limbajul C 373
23 Lista vinuri prg 284
24 Lotus software 260
25 Lumea internetului 367
Trimite un referat !
Referatul tau ii poate ajuta si pe ceilalti! Ajuta-ti colegii!

Ai un referat facut de tine si consideri ca este bun si original ? Trimite-ti lucrarea ta si poti castiga premii, ajutandu-ti colegii sa ia note bune!

Trimite un referat!
Cere un
referat !
Ai nevoie de un referat bun si nu il gasesti ?

Noi te ajutam sa iti faci referatul de care ai nevoie. Da-ne detalii despre lucrarea pe care trebuie sa o redactezi si noi vom scotoci pentru tine!

Cere un referat!