Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Materijalizacija objekata iz baze

[es] :: Art of Programming :: Materijalizacija objekata iz baze

[ Pregleda: 5295 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

_owl_

Član broj: 318
Poruke: 1042
*.vdial.verat.net.



+3 Profil

icon Materijalizacija objekata iz baze12.12.2004. u 01:09 - pre 194 meseci
Zanima me da li kada vrsite materijalizaciju objekata iz baze materijalizujete kompletne objekte. Naime, postoje slucajevi kada treba vrsiti obradu nad objektom koji ima dosta veza sa drugim objektima (referencira ih) a da podaci iz tih drugih objekata nisu potrebni za zahtevanu operaciju. Da li tada materijalizujete objekte sa samo potrebnim podacima ili iz baze izvlacite kompletnu mrezu objekata?
Owl
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 790
217.119.242.*



+61 Profil

icon Re: Materijalizacija objekata iz baze14.12.2004. u 10:20 - pre 194 meseci
Hm, otprilike kapiram sta pitas (i sta te muci). Da pogadjam, kreiranje (materijalizacija, kako ti kazes) objekata je ovde ZAHTEVNA operacija, pa bi hteo da minimalizujes to koliko god je moguce...?
Zavisi kakva je vrsta relacija (medjusobnog referenciranja) izmedju objekata, kao i koliko su oni (objekti) slozeni. Relacije mogu biti i DVOSMERNE, to jest objekat A da bi upotrebio podatke iz objekta B (ciju ima referencu) ponekad mora da trazi DOZVOLU od objekta B. Ima tu more kombinacija, ali imas dva puta da resis problem:
1) da razvijes vrlo precizan nacin razdvajanja kad treba a kad ne treba da se materijalizuje objekat B (vrlo tesko, u praksi se kad-tad desi da se objekat A obrati NEPOSTOJECEM (nil) B objektu, i sve pukne)
2) da kreiras i objekat A i sve pratece objekte B SAMO JEDNOM (prilikom startovanja) i da ih drzis u zivotu sve vreme rada aplikacije; znaci, ne da ih kreiras i ubijas svaki cas.

Rajko

P.S. Odgovor je uopsten jer je i pitanje takvo; konkretizuj, pa cu i ja.
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+709 Profil

icon Re: Materijalizacija objekata iz baze14.12.2004. u 10:58 - pre 194 meseci
Koliko znam, termin je serijalizacija / deserijalizacija, a ne materijalizacija.

Mi konkretno deserijalizujemo objekat po objekat. Na objektu A možeš napraviti property za pristup povezanom objektu B, koji će po zahtevu deserijalizovati objekat B iz baze i vratiti njegovu instancu.
 
Odgovor na temu

filmil
Filip Miletić
Oce Technologies B.V., inženjer
hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.et.tudelft.nl.

Jabber: filmil@jabber.org
ICQ: 36601391


+3 Profil

icon Re: Materijalizacija objekata iz baze14.12.2004. u 11:50 - pre 194 meseci
Citat:
Mi konkretno deserijalizujemo objekat po objekat. Na objektu A možeš napraviti property za pristup povezanom objektu B, koji će po zahtevu deserijalizovati objekat B iz baze i vratiti njegovu instancu.
Ne znam koliko je primenljivo na problem, ali Eclipse Modeling Framework (EMF) ima nešto jako slično.

Pošto Eclipse može da se teoretski sastoji od stotina dodataka, ako želimo da se stvar pokrene u bliskoj budućnosti, ne smemo da na početku inicijalizujemo sve objekte.

Eclipse pravi tzv. shadow world, iliti za svaku instancu klase po jedan proxy, koji ne sadrži ništa do trenutka kada se prvi put pozove neka njegova metoda. U trenutku kada se prva metoda pozove, Eclipse inicijalizuje objekat. Za ovaj trik se očigledno dosta koristi refleksija i verovatno je jako puno posla da se odradi kako treba. Deluje da kod mora da ume da za proizvoljnu klasu napravi runtime proxy, i da za svaku klasu moraš da definišeš svoje metode za serijalizaciju. Ali, možda je moguće da se odgovarajući kod 'pozajmi' iz EMF-a i tako skrati posao.

f
 
Odgovor na temu

filmil
Filip Miletić
Oce Technologies B.V., inženjer
hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.et.tudelft.nl.

Jabber: filmil@jabber.org
ICQ: 36601391


+3 Profil

icon Re: Materijalizacija objekata iz baze14.12.2004. u 11:55 - pre 194 meseci
Citat:
serijalizaciju. Ali, možda je moguće da se odgovarajući kod quot;pozajmiquot; iz EMF-a i tako skrati posao.

A dabome, uvek možeš i da pri upisu vodiš računa šta se serijalizuje, kako ne bi bilo višaka.

f
 
Odgovor na temu

_owl_

Član broj: 318
Poruke: 1042
*.vdial.verat.net.



+3 Profil

icon Re: Materijalizacija objekata iz baze15.12.2004. u 22:42 - pre 194 meseci
Mozda bi bilo zgodnije da objasnim konkretan problem (koji sada bas i nije veliki). Radim malu Java klijent/server aplikaciju kao projektni za fax. Recimo da je ovo UML prikaz klasa koje se nalaze u bazi.



Poslovna logika je takva da se obrada podataka klase RezultatPrijemnog vrsi na posebnoj formi gde se moze menjati samo broj bodova. Ipak kada zelim da sa servera posaljem ovaj objekat klijentu on mora sadrzati reference na odgovarajuce objekte tipa VrstaPrijemnog i Kandidata (a ovaj reference na SrednjuSkolu i kolekciju objekata tipa Svedocanstvo ). Meni su za uspesno izvrsenje ove operacije potrebni samo podaci o broju bodova i o identifikatorima (atributi koji odgovaraju primarnim kljucevima) objekata Kandidat i VrstaPrijemnog. U ovom slucaju ja treba dodatno da instanciram Svedocanstva i SrednjuSkolu (koji su potpuno nepotrebna za pomenutu operaciju). Da li se smatra dobrom praksom da objekat tipa RezultatPrijemnog sadrzi referencu na "nekompletan" objekat tipa Kandidat (ne sadrzi Svedocanstva i SrednjuSkolu)??
Owl
Prikačeni fajlovi
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+709 Profil

icon Re: Materijalizacija objekata iz baze16.12.2004. u 07:59 - pre 194 meseci
Zašto moraš da instanciraš svedočanstva i srednju školu? Ti u klasi Kandidat možeš imati aksesore na objekte koji sadrže svedočanstva i srednju školu datog kandidata, ali da ih iz baze instanciraš tek kad ih neko zatraži. To se neće desiti u obradi rezultata prijemnog. Nadam se da se razumemo.

Ne znam Javu, ali sigurno je nešto slično ovom:
Code:

class Kandidat
{
 . . .
  private Skola srednjaSkola;

  private Skola GetSrednjaSkola() {
    return Skola.GetSrednjaSkolaByKandidat(this.kandidatId);
  }

  public Skola SrednjaSkola {
    get 
    {
      if (srednjaSkola == null)
        srednjaSkola = GetSrednjaSkola();
      return srednjaSkola;
    }
  }
 . . .
}
 
Odgovor na temu

[es] :: Art of Programming :: Materijalizacija objekata iz baze

[ Pregleda: 5295 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.