A tervezési minták alapvetően három kategóriába sorolhatók: Kreatív tervezési minta, szerkezeti tervezési minta és viselkedési tervezési minta. Ezek részletezettségük, összetettségük és a teljes rendszerre való alkalmazhatóságuk mértéke alapján különböznek egymástól.
Kétféle minta is létezik - idiómák és építészeti minták. De ebben az oktatóanyagban nem vizsgáljuk meg őket.
Kreatív tervezési minta
Ahogy a neve is sugallja, ez biztosítja az objektum vagy osztályok létrehozásának mechanizmusát, amely növeli a meglévő kód rugalmasságát és újrafelhasználhatóságát. Csökkentik a függőséget és a használat interakciójának szabályozását az osztályunkkal, hogy ne foglalkozzunk a bonyolult felépítéssel. Az alábbiakban bemutatjuk a kreatív tervezési minták különböző tervezési mintáit.
Absztrakt gyár- Lehetővé teszi objektumok létrehozását anélkül, hogy megadnánk konkrét típusukat.
Építő - Összetett objektumok létrehozására szolgál.
Gyári módszer - Lehetővé teszi számunkra, hogy objektumot hozzunk létre anélkül, hogy megadnánk a létrehozandó pontos osztályt.
Prototípus - Új objektum létrehozására szolgál a meglévő objektumból.
10/100
Singleton - Egyetlen tervezési minta győződjön meg arról, hogy az objektumnak csak egy példánya jön létre.
Strukturális tervezési minták
A strukturális tervezési minták főként az objektumok és osztályok nagyobb struktúrába való összeállításáért felelősek, biztosítva, hogy ezek a struktúrák rugalmasak és hatékonyak legyenek. Nagyon fontosak a kód olvashatóságának és karbantarthatóságának javításához. Azt is biztosítja, hogy a funkciók megfelelően el legyenek különítve, be vannak zárva. Csökkenti az egymásra utalt dolgok közötti minimális interfészt.
Adapter - Lehetővé teszi számunkra, hogy két inkompatibilis osztály működjön együtt azáltal, hogy egy felületet körbevesz az egyik meglévő osztály köré.
Kompozit - Egy objektumcsoportot csomagol egyetlen objektummá.
híd - Leválaszt egy absztrakciót, így két osztály egymástól függetlenül változhat.
lakberendező - Dinamikusan kiterjeszti az objektum viselkedését futási időben.
Homlokzat - Egyszerű felületet kínál a bonyolultabb mögöttes objektumok számára.
légysúly - Csökkenti az összetett objektummodell költségeit.
Proxy - Csökkenti a költségeket, csökkenti a bonyolultságot, és helyőrző felületet biztosít egy mögöttes objektum számára a hozzáférés szabályozásához.
Viselkedés tervezési minta
A viselkedéstervezési minták felelősek azért, hogy az egyik osztály hogyan kommunikál másokkal.
Felelősségi lánc - Ez képviseli a parancsot egy feldolgozó objektum láncához.
Parancs - Olyan objektumokat állít elő, amelyek a paraméterek műveleteit foglalják magukba.
tolmács - Speciális nyelvet valósít meg.
Iterátor - Egy objektum összes eleméhez szekvenciálisan hozzáfér anélkül, hogy megsértené annak mögöttes reprezentációját.
entitás relációs
Közvetítő - Ez biztosítja az osztályok közötti laza csatolást, mivel az egyetlen osztály, amely részletesen ismeri meglévő metódusait.
Mementó - Visszaállítja az objektumot az előző állapotba.
Megfigyelő - Ez lehetővé teszi számos megfigyelő objektum számára, hogy lásson egy eseményt.
Állapot - Lehetővé teszi egy objektum számára, hogy módosítsa viselkedését, ha belső állapota megváltozik.
Stratégia - Ez biztosítja a futási időben kiválasztandó algoritmuscsaládok egyikét.
Sablon módszer - Lehetővé teszi az alosztályok számára, hogy konkrét viselkedést biztosítsanak. Egy algoritmus vázát is absztrakt osztályként határozza meg.
Látogató - A metódusok hierarchiájának egyetlen objektumba helyezésével választ el egy algoritmust az objektumstruktúrától.
Megtanulunk néhány fontos tervezési mintát a következő oktatóanyagban.