[ karas @ 25.06.2005. 13:26 ] @
Kada se piše veći program (ili mali koji ima nameru da raste dodavanjem raznih funkcija) GUI deo programa treba da koristi ono što predstavlja srž programa (npr. baza podataka + obrade nad njom + uspostavljanje veze sa serverom itd.), koji su opet napravljeni kao zasebne klase. Zanima me kako organizovati kod? Da li unutar GUI klasa konstruisati objekte ne-GUI klasa? Ili napraviti neki medjusloj (veliku klasu) koja ce konstruisati sve ne-GUI objekte i pre samog GUI-a, a zatim svaki meni/dijalog/štaveć koristi ono što mu je potrebno iz tog medjusloja?
[ Damjan S. Vujnovic @ 26.06.2005. 12:15 ] @
http://en.wikipedia.org/wiki/Observer_pattern

Hev fan,
DSV
[ MikeLDN @ 26.06.2005. 16:12 ] @
Zasto bas Observer?
[ Damjan S. Vujnovic @ 26.06.2005. 16:26 ] @
Citat:
MikeLDN: Zasto bas Observer?


Pa, na primer, zato sto na jednostavan nacin omogucava da se odvoji prezentacija od biznis-logike.

DSV
[ MikeLDN @ 26.06.2005. 21:32 ] @
Zar nije preduslov za Observer da mu treba multiple views ili ga ja nisam shvatio?
[ Damjan S. Vujnovic @ 26.06.2005. 22:36 ] @
Observer sasvim lepo radi i kada nemas multiple-views (dakle, kada imas samo jedan pogled), znaci to sto omogucava multiple-views je samo jedan "feature" observer patterna.

DSV
[ sspasic @ 27.06.2005. 11:10 ] @
Nisam siguran, ali mislim da ti treba MVC Pattern: http://ootips.org/mvc-pattern.html
[ karas @ 30.06.2005. 10:46 ] @
Gledao sam u tri knjige o patternima (šablonima?), uključujući i knjigu Brusa Ekela, ali MVC pattern se samo uzgred pominje. U jednoj se počinje sa objašnjavanjem Singletona a u drugoj od Factory. Da li to znači da ih je moguće učiti proizvoljnim redosledom ili se preporučuje učenje od prostih ka složenijim? Dakle, metodološki, koji je najbolji (i najbrži) način učenja?
[ Alter Ego @ 07.07.2005. 00:49 ] @
Paterna ima mali milion. Za početak je najbolje da proučiš GRASP paterne, oni su lagani i logični i vrlo, vrlo korisni. Za ostale, nisam pametan šta da ti kažem. Znam koji su meni zanimljivi/korisni - Singleton (koji uključuju i drugi paterni), Observer (my favorite!), DatabaseBroker, Adapter, Command, Pure Fabrication, MVC i naravno svi GRASP paterni. Potencijalno su mi zanimljivi i Proxy i Object Identifier Ovo je navedeno pomalo zbrda-zdola, pošto postoji više podela paterna, ali su mi ovi najkorisniji a da budem iskren, neke baš i nisam uspeo da uklavirim mada se nisam mnogo ni trudio.
Preporučujem knjigu Krega Larmana "Applying UML and patterns", drugo izdanje, tamo imaš sve lepo objašnjeno, kao i mnoge druge korisne i lepe stvari. Nema je na srpskom koliko mi je poznato, ali može da se nabavi, khm, povoljno :). Ja sam sa paternima počeo čitajući knjigu "OO modelovanje na jeziku UML" od Dragana Milićeva. Tamo ima samo nekoliko GoF paterna ali lepo objašnjenih i sa primerima. I skripta Siniše Vlajića sa FON-a za predmet projektovanje programa sadrži lepo kategorizovane paterne.
[ Alter Ego @ 07.07.2005. 01:07 ] @
Što se tiče pitanja koje je postavio autor teme, veoma je preporučljivo razdvajanje interfejsa od aplikativne logike, upravo iz razloga lakšeg održavanja. MVC patern upravo to i naglašava ali ta praksa je preporučena i pre nego što se isti pojavio. Tzv. troslojna arhitektura zahteva da aplikativna logika ne zna ništa o korisničkom interfejsu. Takođe se razdvaja i aplikativna odn. poslovna logika od skladištenja podataka (baze), mada je na ovo stavljen manji naglasak, tako da postoje i dvoslojne arhitekture. Objektne metodologije preporučuju da se formiraju kontroler koji će da prihvata zahteve od interfejsa i šalje ih logici koja ih izvršava, i database broker (postoji istoimeni patern) koji obezbeđuje komunikaciju između logike i skladišta podataka.
Na primer, kao kontroler možeš da napraviš jednu klasu čije će metode da implementiraju pozive sistemskih operacija. I kao Database broker klasu čije će metode da implementiraju operacije za rad sa bazom. A sve domenske klase proglasiš za specijalizacije opšte domenske klase naprimer. Ovako se dobija veoma uopšteno rešenje, koje se lako proširuje.
[ karas @ 07.07.2005. 13:54 ] @
Hvala na savetima. Evo skinuo sam Design Patterns od GoF. Koliko sam na brzinu video mnogo je bolja od Ekelove knjige. Neki primeri su u Smalltalk-u, baš me zanima kako uopšte izgleda taj jezik.
[ Alter Ego @ 07.07.2005. 15:01 ] @
Nema na čemu, i drugi put. To je dobra knjiga, ali ti ipak preporučujem da pogledaš i Larmana. Ta knjiga je "zakon" za te stvari. A na koju Ekelovu knjigu misliš, onu o paternima?
[ karas @ 07.07.2005. 19:36 ] @
Našao sam Larmanovu knjigu u PDF-u. Nadam se da objašnjava i UML jer znam samo par stvari iz UML-a. Valjda će mi ona jedna biti dovoljna i za UML i pattern-e. :)
Da, mislio sam na Ekelovu knjigu o pattern-ima, nije mi se svideo početak.
[ Alter Ego @ 08.07.2005. 13:16 ] @
Može da se nađe i papirna kopija, ako te zanima. Drugo izdanje knjige se bazira na Unified Process-u, dakle pokriva kompletan metodološki pristup dizajna aplikacije. UML se koristi ali knjiga nije orijentisana isključivo na njega. Isto važi i za paterne. Prvo izdanje nema toliko UP-a.
Eckel je naporan, barem meni, ipak je on fizičar :)
[ Zeromicin @ 16.07.2005. 21:02 ] @
 Design Patterns od GoF - Koja je adresa ako bi mogao...?
Citat:
karas wrote in message news:[email protected]...Hvala na savetima. Evo skinuo sam Design Patterns od GoF. Koliko sam na brzinu video mnogo je bolja od Ekelove knjige. Neki primeri su u Smalltalk-u, baš me zanima kako uopšte izgleda taj jezik.
--
http://www.elitesecurity.org/poruka/817739
[ karas @ 21.07.2005. 11:32 ] @
Na http://anatolix.naumen.ru se mogu naći jako lepe knjige, i pomenuta između ostalih.

[Ovu poruku je menjao karas dana 21.07.2005. u 12:34 GMT+1]
[ Zeromicin @ 21.07.2005. 13:10 ] @
 Tnx na adresi... cu
Citat:
karas wrote in message news:[email protected]...Na http://anatolix.naumen.ru se mogu naći jako lepe knjige, i pomenuta između ostalih. [Ovu poruku je menjao karas dana 21.07.2005. u 12:34 GMT+1]
--
http://www.elitesecurity.org/poruka/831582
[ karas @ 21.07.2005. 21:36 ] @
Nema na čemu, možda i ja tamo okačim nešto.