Design pattern (DP) - uvod

Design patterns=opšta, isprobana i ponovo iskoristiva dizajnerska rešenja koja mogu da se primene na uobičajene probleme u (objektno orijentisanom) razvoju softvera.

Opisuju se na nivou klasa i objekata koji su prilagođeni da reše neki opšti projektni problem u nekom konkretnom kontekstu.

Svaki DP se odlikuje:

1. imenom
Samo ime je, uglavnom, dovoljno deskriptivno da sažeto pojasni uzorak.

i sledećim skupom specifikacija:

  1. svrha

  2. kratak opis osnovne delatnosti DP-a (ponekad se opiše i konkretan projektni problem na koji se DP odnosi)
  3. opis scenarija koji ilustruje neki projektni problem sa namerom da potpomogne razumevanje apstraktnog opisa DP-a

  4. Obično se opiše i način na koji strukture klasa i objekata u DP-u rešavaju pomenuti projektni problem.
  5. opis situacije u kojoj se može primeniti

  6. Ponekad se navedu i primeri lošeg projektovanja, a koje može biti korigovano upotrebom konkretnog DP-a.
  7. grafički prikaz odnosa i interakcija među klasama i objektima (npr. dijagram klasa, dijagram objekata, dijagram interakcije)
  8. opis klasa i/ili objekata koji učestvuju u DP-u uz navođenje njihove odgovornosti
  9. posledice primene DP-a
    Uz analizu nedostaka i prednosti upotrebe DP-a, diskutuje se i o načinu na koji DP ispunjava svoju namenu uz eventualno navođenje onih segmenata strukture čitavog sistema koji mogu nezavisno da se menjaju.
  10. uputstvo za implementaciju
    Konkretni saveti, programerske tehnike, ali i klopke, koje valja uzeti u obzir pri samoj implementaciji design pattern-a. Obratiti pažnju na stepen zavisnosti od programskog jezika.
  11. fragmenti programskog koda
    Služe kao ilustracija načina na koji se uzorak može implementirati.
  12. primeri korišćenja konkretnog DP-a u realnim sistemima
  13. skup alternativnih imena (pod uslovom da postoje)
  14. spisak bliskih design pattern-a
    Obično se pruži i informacija o razlikama među bliskim design pattern-ima.

U ovom radu su stavke 3-6 opisane tako da nisu vizuelno jasno izdiferencirane, već su ukomponovane kao delovi stavke 2 i stavke 5, dok umesto stavki 8 i 9 su pruženi primeri sa komentarima (negde detaljniji, negde manje detaljniji, što je zavisilo samo od prirode problema koji se ilustruje).

Inače, sama specifikacija je predložena od strane Gamma, Eric; Helm, Richard; Johnson, Ralph ; Vlissides, John u knjizi Design Patterns. Elements of Reusable Software, Addison-Wesley, 1995, ali nije imperativ pri opisu design pattern-a.
Tim pre što su se autori u izboru programskih jezika opredelili za Smalltalk i C++, te je takav izbor uticao i na procenu i komentare šta se može, a šta ne relativno jednostavno implementirati.

 


 

← Naslovna strana Kraj Kratak istorijski pregled →