Sobes.tech
Junior

Milyen tervezési mintákat ismer?

sobes.tech MI

Válasz az MI-től

Generáló:

  • Singleton: Biztosítja, hogy csak egy példány létezik az osztályból, és globális hozzáférési pontot biztosít hozzá.
  • Factory Method: Meghatározza az interfészt az objektum létrehozásához, de lehetővé teszi az alosztályok számára, hogy eldöntsék, melyik osztályt példányosítják.
  • Abstract Factory: Interfészt nyújt kapcsolódó vagy függő objektumcsaládok létrehozásához anélkül, hogy meghatározná azok konkrét osztályait.
  • Builder: Szétválasztja egy összetett objektum konstrukcióját lépésekre, lehetővé téve különböző reprezentációk létrehozását ugyanazzal a konstrukciós folyamattal.
  • Prototype: Objektumokat hoz létre egy meglévő példány (prototype) másolásával, ahelyett, hogy újra végrehajtaná a konstrukciós folyamatot.

Strukturális:

  • Adapter: Átalakítja egy osztály interfészét egy másik, a kliens által elvárt interfésszé. Lehetővé teszi inkompatibilis interfészekkel rendelkező osztályok együttműködését.
  • Bridge: Elkülöníti az absztrakciót annak megvalósításától, lehetővé téve azok független változtatását.
  • Composite: Objektumokat fastruktúrába szervez, hogy hierarchiákat képviseljenek "rész-egész" viszonyban. Lehetővé teszi az egyedi objektumokkal és összetett objektumokkal való egységes munkát.
  • Decorator: Dinamikusan ad hozzá új felelősségeket az objektumhoz, azzal, hogy egy speciális dekorátor objektumba csomagolja.
  • Facade: Egységes interfészt nyújt egy alrendszerhez tartozó több interfészhez. Egyszerűsíti az alrendszer használatát.
  • Flyweight: Megosztott állapotot használ sok kis objektum között, csökkentve a memóriahasználatot és növelve a teljesítményt.
  • Proxy: Egy helyettesítő objektumot biztosít, amely kezeli az eredeti objektumhoz való hozzáférést.

Viselkedéses:

  • Chain of Responsibility: A kérés átadása a kezelők láncolatán keresztül. Minden kezelő eldönti, hogy kezeli-e a kérést vagy továbbítja a következőnek.
  • Command: A kérés csomagolása objektumba, lehetővé téve a különböző kérésű kliensek paraméterezését, kérés sorba állítását vagy naplózását.
  • Interpreter: Meghatározza a nyelv szintaktikai reprezentációját, és tartalmaz egy értelmezőt a mondatok értelmezéséhez.
  • Iterator: Lehetővé teszi az összetett objektum összes eleméhez való sorozatos hozzáférést anélkül, hogy felfedné annak belső szerkezetét.
  • Mediator: Meghatározza azokat az objektumokat, amelyek kezelik a kölcsönhatásokat más objektumok között. Gyengíti a kapcsolódást, lehetővé téve az objektumok közötti kommunikációt közvetítő nélkül.
  • Memento: Lehetővé teszi az objektum belső állapotának mentését és visszaállítását anélkül, hogy megsértené az inkapszulációt.
  • Observer: Meghatározza az "egy a sokhoz" függőséget az objektumok között, így amikor az egyik objektum állapota megváltozik, minden rá hivatkozó objektum értesítést kap és automatikusan frissül.
  • State: Lehetővé teszi az objektum számára, hogy viselkedése a belső állapotától függően változzon. Minden állapot külön osztályba van inkapszulálva.
  • Strategy: Meghatározza az algoritmuscsaládokat, mindegyiket inkapszulálja, és egymással helyettesíthetővé teszi azokat. Lehetővé teszi az algoritmus futás közbeni kiválasztását.
  • Template Method: Meghatározza az algoritmus vázát egy műveletben, bizonyos lépéseket késleltetve az alosztályokra. Lehetővé teszi az alosztályoknak, hogy meghatározzák az algoritmus lépéseit anélkül, hogy megváltoztatnák az algoritmus szerkezetét.
  • Visitor: Olyan műveletet képvisel, amelyet el kell végezni az objektumstruktúra elemein. Lehetővé teszi új műveletek definiálását anélkül, hogy megváltoztatná az elemek osztályait, amelyekre hatással van.