Mikro arhitektura – GoF uzori

GoF(Gang of Four) uzori su se prvi put pojavili u knjizi „Design Patterns – Elements of Reusable Object-Oriented software“ koju su napisali Erich Gamma, Richard Helm, Ralph Johnson i John Vlissides. Oni su u toj knjizi predstavili neke od najčešće korišćenih uzora i klasifikovali ih prema nameni na uzore kreiranja, strukture i ponašanja i prema domenu na uzore klasa i objekata. Postoje i drugi načini da se klasifikuju uzori. Neki uzori se često koriste zajedno. Na primer, sastavnica(composite) se često koristi uz Iterator ili Posetioca(Visitor). Neki uzori su alternative: Prototip je često alternativa apstraktnoj fabrici, kao i builder.

Uzori kreiranja

Uzori kreiranja apstrahuju proces instanciranja. Pomoću njih sistem postaje nezavisan od načina pravljenja, sastavljanja i predstavljanja objekata. Uzor za pavljenje sa domenom klase koristi nasleđivanje za menjanje klase koja se instancira, dok uzori za pravljenje sa domenom objekta delegira instanciranje nekom drugom objektu.

Uzori kreiranja postaju važni kada sistemi dođu u fazu da više zavise od sastavljanja objekata nego od nasleđivanja. U takvoj situaciji, naglasak sa fiksnog kodiranja fiksnog skupa ponašanja prelazi na definisanje manjeg skupa osnovnih ponašanja koja se mogu sastavljati u veći broj složenijih. Prema tome, pravljenje objekata sa nekim određenim ponašanjem zahteva više od pukog instanciranja klase.

Kod ovih uzora postoje dve teme koje se stalno ponavljaju. Prvo, svi uzori enkapsuliraju znanje o tome koje konkretne klase sistem koristi. Drugo, oni kriju kako se prave konkretni objekti ovih klasa i kako se sastavljaju. U celom sistemu se o objektima zna jedino za njihove interfejse, na osnovu toga kako su definisani u apstraktnim klasama.

Uzori strukture

Strukturni uzori se bave načinom na koji se klase i objekti sastavljaju u veće strukture. Strukturni uzori klasa koriste nasleđivanje za sastavljanje interfejsa ili implementacija. Strukturni uzori sa domenom objekata opisuju načine za postizanje nove funkcionalnosti kombinovanjem objekata umesto sastavljanjem interfejsa ili implementacija. Dodatna fleksibilnost sastavljanja objekata potiče od mogućnosti da se sastav menja u vreme izvršavanja, što je nemoguće kod statičkog sastavljanja klasa.

Uzori ponašanja

Uzori ponašanja se bave algoritmima i raspodelom odgovornosti među objektima. Uzori ponašanja ne opisuju samo uzore objekata ili klasa, već i uzore njihove međusobne komunikacije. Ovi uzori opisuju prirodu složenog toka kontrole koji se teško prati u vreme izvršavanja. Pažnja prelazi sa samoga toka kontrole na način međusobnog povezivanja objekata.

Klasni uzori ponašanja koriste nasleđivanje za distribuiranje ponašanja među klasama. Objektni uzori ponašanja koriste sastavljanje objekata, a ne nasleđivanje. Neki od njih opisuju kako grupa objekata ortaka sarađuje na zadatku koji nijedan od njih ne može sam da obavi. Ovde je važno kako ti objekti saznaju jedan za drugoga. Oni bi mogli da čuvaju međusobne eksplicitne reference, ali bi to pojačalo njihovo vezivanje. U krajnjem slučaju bi svaki objekat znao za sve ostale.

Kod svih GoF uzora se može primetiti struktura koja se sastoji od klijenta, apstraktnog servera i konkretnih servera. To se može prikazati sledećim UML dijagramom.

GoF uzor

About Vladimir

F.O.N. Razni samostalni projekti U.S. Steel Serbia - Web Developer
This entry was posted in Некатегоризовано and tagged , , , , , . Bookmark the permalink.

Ostavite odgovor

Vaša adresa e-pošte neće biti objavljena. Neophodna polja su označena *

*

Možete koristiti ove HTML oznake i atribute: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>