Tech, szoftvertervezés és programozás

Szoftverfejlesztés, Shaderprogramozás, DirectX

  • A betűméret növelése
  • Alapértelmezett betűméret
  • A betűméret csökkentése
Címlap Programozás A Gang of Four-féle tervezési minták - bevezetés

A Gang of Four-féle tervezési minták - bevezetés

E-mail Nyomtatás PDF
Olvasóink értékelése: / 0
ElégtelenKitűnő 

Railway crossingA szoftvertervezési minták négy közismert úttörője Erich Gamma, Richard Helm, Ralph Johnson és John Vlissides ( bővebben itt olvashatunk róluk:http://hillside.net/patterns/DPBook/GOF.html)

Tudtommal az első könyvet nekik köszönhetjük a témában, bár valószínűleg nem ők találták fel a spanyolviaszt. Számos fejlesztő szembesült már ugyanazzal a problémával, illetve feladattal, és valószínűleg sokan azonos, vagy csak apró részleteiben eltérő megoldásokra jutottak. Ezeket nevezzük mintának, ugyanis egy ismétlődő, jellemző problémakörre jelentenek szabványos megoldást.
A mintákat tehát a könyv megjelenése előtt is használták a fejlesztők, viszont senki sem foglalta össze - legfeljebb céges dokumentáció formájában keringett egy zárt közösségen belül.
Az említett négy úriember azonban vette a fáradtságot, és írt egy könyvet: egy klasszikus, mondhatni alapmű, amely nem hiányozhat egyetlen - magára valamit is adó -, programozó könyvtárából sem.

A "Tervezési minták" (Design Patterns) című könyvről van szó, amely három nagy csoportba szervezi a programtervezési tervmintákat:


1.    Létrehozási minták
Az objektumok létrehozásával kapcsolatos minták családja. A létrehozási minták leggyakoribb célja az objektum-létrehozás implementációs részleteinek elrejtése.
Ezáltal a hívó kód független a példányosítandó osztálytól, így egy új típus hozzáadása nem kényszeríti ki a felhasználó, kliens kód módosítását (illetve a minimálisra csökkenti a szükséges változtatásokat).
Ellenkező esetben egyre több új osztály jelenik meg a kódunkban, egyre több részletre kell odafigyelni, és a sok new Ez(), new Az(), és new Amaz()-tól nem látni az erdőt.

2.    Szerkezeti minták
A szerkezeti minták a rendszerben résztvevő objektumok közötti kapcsolatrendszer hatékony, elegáns kialakítását célozzák meg. Elsődleges szempont, hogy a rendszerben végrehajtott módosítások ne vonják maguk után a kapcsolatok megváltoztatását.
Erre ellenpélda, amikor minden mindennel kapcsolatban áll, ami egy kusza, pókhálószerű függőségi mintát eredményez.
Aki már kénytelen volt ilyen programba belenyúlni, az tudja, miért is kerülendő ez a megközelítés.

3.    Viselkedési minták
A viselkedési mintákat azon objektumok esetén alkalmazzuk, amelyek valamilyen speciális, dedikált tevékenységet hajtanak végre.
Ez lehet például egy kérelem végrehajtásra, vagy egy szekvencián történő végigiterálás.


A következő szövegrészben bemutatunk néhányat a legáltalánosabban bevetett minták közül, a fenti felosztás szerint csoportosítva őket.

2009 (c) www.nyisztorkaroly.org