Sobes.tech
Middle

Aké vzory návrhu poznáte?

sobes.tech AI

Odpoveď od AI

Tvorcovia:

  • Funkcia továreň (Factory Method): Definuje rozhranie na vytvorenie objektu, ale umožňuje podtriedam rozhodnúť, akú triedu inštancovať.
  • Abstraktná továreň (Abstract Factory): Poskytuje rozhranie na vytvorenie rodín vzájomne súvisiacich alebo závislých objektov bez špecifikácie ich konkrétnych tried.
  • Staviteľ (Builder): Oddelí konštrukciu zloženého objektu od jeho prezentácie, takže rovnaký proces konštrukcie môže vytvárať rôzne prezentácie.
  • Prototyp (Prototype): Vytvára nové objekty kopírovaním existujúceho vzoru.
  • Singleton (Singleton): Zabezpečuje, že trieda má iba jeden príklad a poskytuje globálny prístup k nemu.

Štrukturálne:

  • Adaptér (Adapter): Premení rozhranie jednej triedy na iné, ktoré očakávajú klienti.
  • Most (Bridge): Oddelí abstrakciu od jej implementácie, aby mohli byť nezávisle meniace sa.
  • Kompozit (Composite): Kombinuje objekty do stromových štruktúr na reprezentáciu hierarchií časť-ceľok. Umožňuje klientom pracovať s jednotlivými objektmi a ich kompozíciami jednotne.
  • Dekorátor (Decorator): Dynamicky pridáva nové zodpovednosti k objektu. Je flexibilnou alternatívou k podtriedeniu na rozšírenie funkčnosti.
  • Fasáda (Facade): Poskytuje zjednotené rozhranie pre sadu rozhraní podsystému. Uľahčuje používanie podsystému.
  • Flyweight (Flyweight): Efektívne zdieľa veľké množstvo podobných objektov.
  • Proxy (Proxy): Poskytuje náhradný objekt, ktorý riadi prístup k inému objektu.

Správanie:

  • Reťazec zodpovedností (Chain of Responsibility): Umožňuje odovzdávať požiadavky postupne reťazcom spracovateľov. Každý spracovateľ rozhodne, či požiadavku spracuje alebo ju odovzdá ďalej.
  • Príkaz (Command): Zapuzďuje požiadavku ako objekt, čo umožňuje klientom parameterizovať rôzne požiadavky, zaradiť ich do radu alebo ich zaznamenať, ako aj podporovať operácie vrátenia.
  • Iterátor (Iterator): Poskytuje spôsob sekvenčného prístupu k prvkom zloženého objektu bez odhalenia jeho vnútornej štruktúry.
  • Mediator (Mediator): Definuje objekt, ktorý zapuzďuje, ako objekty medzi sebou komunikujú. Podporuje slabé prepojenie, zabraňuje explicitným odkazom medzi objektmi.
  • Memento (Memento): Zaznamenáva a externé uchováva vnútorný stav objektu bez narušenia inkapsulácie, aby ho bolo možné neskôr obnoviť.
  • Pozorovateľ (Observer): Definuje závislosť "jeden ku mnohým" medzi objektmi tak, že pri zmene stavu jedného sú všetky závislé od neho automaticky upozornené a aktualizované.
  • Stav (State): Umožňuje objektu meniť svoje správanie pri zmene jeho vnútorného stavu. Zdá sa, že mení svoju triedu.
  • Stratégia (Strategy): Definuje rodinu algoritmov, kapsuluje každý a robí ich zameniteľnými. Umožňuje algoritmu meniť sa nezávisle od klientov, ktorí ho používajú.
  • Šablónová metóda (Template Method): Definuje kostru algoritmu v operácii, odkladá niektoré kroky na podtriedy. Umožňuje podtriedam redefinovať niektoré kroky algoritmu bez zmeny jeho štruktúry.
  • Návštevník (Visitor): Predstavuje operáciu, ktorú je potrebné vykonať nad prvkami štruktúry objektov. Umožňuje definovať novú operáciu bez zmeny tried prvkov, na ktorých operuje.