Sobes.tech
Junior

Aké vzory návrhu poznáte?

sobes.tech AI

Odpoveď od AI

Generátory:

  • Singleton: Zaručuje, že existuje iba jedna inštancia triedy a poskytuje k nej globálny prístupový bod.
  • Factory Method: Definuje rozhranie pre vytváranie objektu, ale umožňuje podtriedam rozhodnúť, ktorú triedu inštancovať.
  • Abstract Factory: Poskytuje rozhranie pre tvorbu rodín súvisiacich alebo závislých objektov, bez špecifikácie ich konkrétnych tried.
  • Builder: Čiastočne konštruuje zložitý objekt v krokoch, umožňujúc vytváranie rôznych reprezentácií objektu použitím toho istého procesu konštrukcie.
  • Prototype: Vytvára objekty duplikáciou existujúceho vzoru (prototypu), namiesto opakovaného vykonávania konštrukčného procesu.

Štrukturálne:

  • Adapter: Prevod rozhrania jednej triedy na iné rozhranie, ktoré očakávajú klienti. Umožňuje spoluprácu tried s nesúladnými rozhraniami.
  • Bridge: Oddelí abstrakciu od jej implementácie, umožňujúc ich nezávislú zmenu.
  • Composite: Kombinuje objekty do stromových štruktúr pre reprezentáciu hierarchií "časť a celok". Umožňuje klientom pracovať rovnako s jednotlivými objektmi aj s kompozíciami objektov.
  • Decorator: Dynamicky pridáva nové zodpovednosti k objektu obalením do špeciálneho dekorátora.
  • Facade: Poskytuje zjednotený rozhranie k súboru rozhraní podsystému. Uľahčuje používanie podsystému.
  • Flyweight: Používa zdieľané stavové medzi mnohými malými objektmi na zníženie pamäťovej náročnosti a zvýšenie výkonu.
  • Proxy: Poskytuje zástupcu objektu, ktorý riadi prístup k originálnemu objektu.

Správanie:

  • Chain of Responsibility: Prenáša požiadavku cez reťazec spracovateľov. Každý spracovateľ rozhodne, či požiadavku spracovať alebo ju odovzdať ďalšiemu.
  • Command: Zapúzdruje požiadavku ako objekt, čo umožňuje parametrizovať klientov rôznymi požiadavkami, zaradiť požiadavky do fronty alebo ich zaznamenávať.
  • Interpreter: Definuje gramatickú reprezentáciu jazyka a obsahuje interpretér na interpretáciu viet v tomto jazyku.
  • Iterator: Poskytuje spôsob sekvenčného prístupu ku všetkým prvkom zloženého objektu, bez odhalenia jeho vnútorného reprezentácie.
  • Mediator: Definuje objekty, ktoré riadia interakciu medzi sadou iných objektov. Podporuje slabé prepojenie, umožňujúc objektom komunikovať bez priameho odkazovania na seba navzájom.
  • Memento: Umožňuje uloženie a obnovenie vnútorného stavu objektu bez narušenia inkapsulácie.
  • Observer: Definuje závislosť "jeden ku mnohým" medzi objektmi, takže pri zmene stavu jedného sú všetky závislé objekty upozornené a automaticky aktualizované.
  • State: Umožňuje objektu meniť svoje správanie v závislosti od jeho vnútorného stavu. Každý stav je inkapsulovaný v samostatnej triede.
  • Strategy: Definuje rodinu algoritmov, inkapsuluje ich a robí ich vzájomne zamieňateľnými. Umožňuje výber algoritmu počas behu.
  • Template Method: Definuje kostru algoritmu v operácii, odkladá niektoré kroky na podtriedy. Umožňuje podtriedam definovať kroky algoritmu bez zmeny štruktúry samotného algoritmu.
  • Visitor: Predstavuje operáciu, ktorá má byť vykonaná nad prvkami štruktúry objektov. Umožňuje definovať nové operácie bez zmeny tried prvkov, na ktorých pôsobí.