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

Proširivanje funkcionalnosti klase

[es] :: .NET :: Proširivanje funkcionalnosti klase

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vujkev
Beograd

Član broj: 8072
Poruke: 1347
*.telekom.yu.



+104 Profil

icon Proširivanje funkcionalnosti klase17.12.2008. u 14:30 - pre 186 meseci
Hipotetičko pitanje

Server i klijent dele klasu "Nalog". Komunikacija server i klijent je urađena sa WCF i oba naravno napravljena u .NET-u

Code:

Public class Nalog
   Public ID as integer
   Public Name as string
   ......


što se tiče strane servera ovo se sasvim dovoljno, ali klijent bi trebao da ima neke dodatne elemente npr:
Code:

   Property Valid as boolean
   sub Obrisi
   sub Snimi


i sl.
Moje pitanje je kako proširiti funkcionalnost klase, a da i dalje može jednostavno da se pošalje/primi ka/od servera?
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Proširivanje funkcionalnosti klase17.12.2008. u 17:33 - pre 186 meseci
ne vidim u cemu je problem da na klijentu definises klasu koja ce da nasledi klasu Nalog, mada nisam radio u vb.netu ali kako je to oop jezik, extendovanje klase bi trebalo da radi bez problema u tom slucaju (naravno od servera bi mogao da primas i da mu saljes samo one podatke koji su definisani u Nalog klasi)
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Proširivanje funkcionalnosti klase17.12.2008. u 17:53 - pre 186 meseci
Extendovanje klase je ok resenje, nasledjivanje nije. Remoting generalno ima problema sa nasledjivanjem kad se objekat seta tamo-vamo zbog marshalovanja, tj ako na klijentu napravis Nalog2:Nalog i posaljes na server kao Nalog, server ce ga primiti kao Nalog i poslace nazad Nalog i izgubice se Nalog2 tip (dynamic cast u Nalog2 ce puci), a ako pokusas da posaljes direktno Nalog2 na server puci ce marshaling jer server ne zna za tu klasu. Po meni najbolje resenje je da se nekomplikuje mnogo vec da se sve marshal klase ukljuce i na klijntu i na serveru.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

vujkev
Beograd

Član broj: 8072
Poruke: 1347
212.200.241.*



+104 Profil

icon Re: Proširivanje funkcionalnosti klase17.12.2008. u 21:15 - pre 186 meseci
Sve je to meni jasno, ali šta ako primera radi klasa Nalog u sebi ima i kolekciju objekata "Stavka". Ako svaki nalog ima npr 1000 objekata "Stavka" svako prebacivanje klase Nalog bi podrazumevalo i prebacivanje tih 1000 stavki. Moja ideja je da se na početku prebace svi nalozi, a da se stavke prebacuju po potrebi. To generalno nije problem da se napravi, ali ako u klijentu na 10 mesta treba da koristim objekat "Stavka" iz naloga onda na 10 mesta treba da proveravam da li sam "preuzeo" te podakte sa servera i po potrebi pokrenem preuzimanje.
Koliko vidim najlakše rešenje je da na klijent strani imam posebnu klasu Nalog
[Code]
Public class Nalog
Public Data as Common.Nalog
Public stavke as common.Stavke
Sub Snimi
Sub Obrisi
....
end class
[/code]

i da prilikom slanja i primanja od servera koristim "Data" property ove klase
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
 
Odgovor na temu

Eurora3D Team
Nebojsa - Programer & Vodja tima
Beograd

Član broj: 120376
Poruke: 900
*.dynamic.sbb.rs.



+7 Profil

icon Re: Proširivanje funkcionalnosti klase18.12.2008. u 13:38 - pre 186 meseci
Nisam neki ekspert za NET ali mislim da bi moglo ovako
Definises osnovnu klasu (onoliko koliko je potrebno za server)
Izvedes prosirenu klasu cije ces objekte da koristis u klientu.
I pri komunikaciji serveru saljes baznu klasu (koja je deo izvedene) , znaci instancaobjekata.baza
Jel to moze tako u VB.Net-u?
 
Odgovor na temu

vujkev
Beograd

Član broj: 8072
Poruke: 1347
*.telekom.yu.



+104 Profil

icon Re: Proširivanje funkcionalnosti klase18.12.2008. u 13:53 - pre 186 meseci
Kao što je mmix rekao nije problem poslati osnovnu klasu serveru već primiti osnovnu klasu od servera
Citat:
mmix:
Remoting generalno ima problema sa nasledjivanjem kad se objekat seta tamo-vamo zbog marshalovanja, tj ako na klijentu napravis Nalog2:Nalog i posaljes na server kao Nalog, server ce ga primiti kao Nalog i poslace nazad Nalog i izgubice se Nalog2 tip (dynamic cast u Nalog2 ce puci)

Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
 
Odgovor na temu

vbbojan
Atanasijevic Bojan
Digit Consulting d.o.o.
Beograd

Član broj: 31580
Poruke: 273
93.93.194.*

Sajt: www.digitconsulting.rs


+20 Profil

icon Re: Proširivanje funkcionalnosti klase22.12.2008. u 16:48 - pre 186 meseci
Pogledaj malo CSLA framework.

www.lhotka.net

CSLA ima upravo sjajno remoting resenje, a i na forumu
imas dosta materijala koji bi ti bio od koristi.

Mana CSLA je sto treba vremena da se prouci,
ali kasnije se to visestruko isplati.

Pozdrav,
Bojan
 
Odgovor na temu

[es] :: .NET :: Proširivanje funkcionalnosti klase

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

Postavi temu Odgovori

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