Šta je novo?

Preporuka za implemetaciju strategy patterna

milos_r

Slavan
Učlanjen(a)
31.10.2004
Poruke
487
Poena
319
Ako se neko dobro razume u OO patterne mogao bi da pogleda ovaj dijagram koji sam napravio i preporuci neki koji bi mogao da implementiram i na koji nacin.
evo modela
x51a0w.jpg

Pozdrav i hvala unapred na odgovorima
 
ne kapiram gde ces ga ovde? tj. koji preblem njime resavas.
 
Mozda nisam dobro objasnio. Ne treba ovde nikakva implementacija nego da se ovaj uml dizajn unapredi nekim od postojecih OO patterna. Recimo ja sam nesto kombinovao pa sam dosao do sledecih stvari, pa bih bas voleo da mi kazete vase misljenja.
samo command pattern
1108uo4.jpg


dodat singleton mada mi ovo deluje preterano
2pq48id.jpg


dodat composite
2i8uo3t.jpg
 
Nesto sam jos malo radio na ovome. Bas bih voleo da pogledate i prokomentarisete sta mislite da li moze da se implementira jos neki O.O. pattern i generalno da li bi ste nesto menjali.
Pozdrav
24ot3rp.jpg
 
Generalno, mislim da te potpuno pogresno uche na tom predmetu. Nije poenta da ti uzmes neki dizajn i da u njega na silu guras neke OO patterne, samo da bi se oni tu nasli.
Prilikom dizajna uvek moras krenuti od problema kojeg resavas. Da bi u dizajniranju koristio patterne potrebno je da znas principe na kojima su ti patterni zasnovani, odnosno neke osnovne principe OO programiranja/dizajna (loose coupling, high cohesion, once and only once, find what varies and encapsulate it...). Tek tada pristupas resavanju problema i pravljenju nekog odredjenog dizajna (imajuci u vidu OO principe i koristeci odgovarajuce patterne koji ce za taj konkretan problem pomoci postizanju ovih principa).

Dakle, nemoj se truditi da u taj dizajn uguras neki random pattern, nego pogledaj sam problem koji vam je profesor dao, i pokusaj da unapredis dizajn tako da on vise odgovara osnovnim OO principima, da je fleksibilniji ka dodavanju novih zahteva i slicno. Takvim razmisljanjem ce se neki postojeci patterni nametnuti sami po sebi.
Ti trenutno razmisljas "Imam pattern, gde da ga ubacim", umesto da razmisljas na sledeci nacin "Imam problem, razumem problem, razumem neko pocetno resenje, razumem mane tog resenja. Kako da eliminisem te mane i unapredim resenje? Da li su takvi problemi vec resavani ranije? Mozda postoje patterni za kvalitetno resenje problema tog tipa? Ukoliko ne mogu da ih nadjem, jednostavno cu slediti OO principe i sam cu da izvedem novi kvalitetan dizajn, koji ce mozda cak postati i neki novi dizajn pattern".
 
^^ Lep post.
Ako mogu da pitam, na kom fakultetu radis ovo? Zadatak mi lici na one Laslove gluposti iz projektovanja softvera ali ne radis u starUML-u koji se forsira na ETF-u, pa me zanima gde jos teraju da se radi hiljadu jedna verzija video kluba :).
 
Generalno, mislim da te potpuno pogresno uche na tom predmetu. Nije poenta da ti uzmes neki dizajn i da u njega na silu guras neke OO patterne, samo da bi se oni tu nasli.
Prilikom dizajna uvek moras krenuti od problema kojeg resavas. Da bi u dizajniranju koristio patterne potrebno je da znas principe na kojima su ti patterni zasnovani, odnosno neke osnovne principe OO programiranja/dizajna (loose coupling, high cohesion, once and only once, find what varies and encapsulate it...). Tek tada pristupas resavanju problema i pravljenju nekog odredjenog dizajna (imajuci u vidu OO principe i koristeci odgovarajuce patterne koji ce za taj konkretan problem pomoci postizanju ovih principa).

Dakle, nemoj se truditi da u taj dizajn uguras neki random pattern, nego pogledaj sam problem koji vam je profesor dao, i pokusaj da unapredis dizajn tako da on vise odgovara osnovnim OO principima, da je fleksibilniji ka dodavanju novih zahteva i slicno. Takvim razmisljanjem ce se neki postojeci patterni nametnuti sami po sebi.
Ti trenutno razmisljas "Imam pattern, gde da ga ubacim", umesto da razmisljas na sledeci nacin "Imam problem, razumem problem, razumem neko pocetno resenje, razumem mane tog resenja. Kako da eliminisem te mane i unapredim resenje? Da li su takvi problemi vec resavani ranije? Mozda postoje patterni za kvalitetno resenje problema tog tipa? Ukoliko ne mogu da ih nadjem, jednostavno cu slediti OO principe i sam cu da izvedem novi kvalitetan dizajn, koji ce mozda cak postati i neki novi dizajn pattern".

Pa ja se slazem sa svime recenim u tvojem postu. Samo mislim da ovde nije predstavljena kompletna slika da bi se olako sudilo o kvalitetu nastave. Naime ko i na svim fakultetima zadatak stize u suvom tekstulnom formatu sa sturim opisom informaionog sistema gde se trazi modelovanje prvo bez implementacije patterna (prvi post) i nakon toga unapredjenje istog implementacijom nekog od ponudjenih koje student smatra prigodnim. Cini mi se ovde ce doci do izrazaja bas to sto si ti rekao neciji bolji ili losiji nacin da neki dizajn unapredi upotrebom nekog OO patterna.
Svakako bih voleo da cujem tvoj predlog gledajuci prvi post kako bi unapredio dizajn, dovoljno je jedan dobro upotrebljen pattern.
pozdrav Milos
 
meni se odmah ucinilo kao neka vezba, a ne kao ozbiljna aplikacija. jer kad bi mi neko dao pravu aplikaciju za VK sa 18+ klasa verovatno bi slomio nekoliko tastatura pre nego sto bi nesto uradio s njom...

ne bih rekao za sebe da se "dobro razumem" i sve sto mogu da ti preporucim je da napravis sto jednostavniji model VK, a onda dodas neki neobican feature koji bi bolje izgledao sa patternom. cini mi se da su ove varijante covek<->delo<->medijum<->korisnik previse jednostavne za nekakav cool pattern. iako si se potrudio da stvari ucinis komplikovanim. :)
 
Nazad
Vrh Dno