Sobes.tech
Middle

Jaké vzory návrhu znáte?

sobes.tech AI

Odpověď od AI

Tvoří:

  • Faktoriální metoda (Factory Method): Definuje rozhraní pro vytváření objektu, ale umožňuje podtřídám rozhodnout, jakou třídu instancovat.
  • Abstraktní továrna (Abstract Factory): Poskytuje rozhraní pro tvorbu rodin vzájemně souvisejících nebo závislých objektů bez specifikace jejich konkrétních tříd.
  • Stavitel (Builder): Odděluje konstrukci složitého objektu od jeho reprezentace, takže stejný proces konstrukce může vytvářet různé reprezentace.
  • Prototyp (Prototype): Vytváří nové objekty kopírováním existujícího vzoru.
  • Singleton (Singleton): Zajišťuje, že třída má pouze jednu instanci a poskytuje globální přístup k ní.

Strukturální:

  • Adaptér (Adapter): Převádí rozhraní jedné třídy na jiné, které očekávají klienti.
  • Most (Bridge): Odděluje abstrakci od její implementace, aby mohly být měněny nezávisle.
  • Seskupovač (Composite): Skládá objekty do stromových struktur pro reprezentaci hierarchií část- celý. Umožňuje klientům pracovat s jednotlivými objekty i jejich složenými strukturami jednotně.
  • Dekorátor (Decorator): Dynamicky přidává objektu nové odpovědnosti. Je flexibilní alternativou k podtřídění pro rozšíření funkčnosti.
  • Fasáda (Facade): Poskytuje sjednocené rozhraní k sadě rozhraní podsystému. Usnadňuje používání podsystému.
  • Flyweight (Flyweight): Efektivně sdílí velké množství podobných objektů.
  • Proxy (Proxy): Poskytuje náhradní objekt, který řídí přístup k jinému objektu.

Chování:

  • Řetězec odpovědnosti (Chain of Responsibility): Umožňuje předávat požadavky postupně řetězcem zpracovatelů. Každý zpracovatel rozhodne, zda požadavek zpracuje nebo předá dál.
  • Příkaz (Command): Zapouzdřuje požadavek jako objekt, což umožňuje klientům parametrizovat různé požadavky, řadit je nebo zaznamenávat, a také podporovat operace vrácení.
  • Iterátor (Iterator): Poskytuje způsob sekvenčního přístupu k prvkům složeného objektu bez odhalení jeho vnitřní struktury.
  • Mediator (Mediator): Definuje objekt, který zapouzdřuje, jak objekty spolu komunikují. Podporuje slabé spojení, zabraňuje explicitním odkazům mezi objekty.
  • Memento (Memento): Bez narušení zapouzdření zaznamenává a externě uchovává vnitřní stav objektu, aby jej bylo možné později obnovit.
  • Pozorovatel (Observer): Definuje závislost "jeden ku mnoha" mezi objekty tak, že při změně stavu jednoho jsou všechny závislé objekty automaticky upozorněny a aktualizovány.
  • Stav (State): Umožňuje objektu měnit své chování při změně jeho vnitřního stavu. Zdá se, že mění třídu.
  • Strategie (Strategy): Definuje rodinu algoritmů, zapouzdřuje každý a činí je zaměnitelnými. Umožňuje algoritmu měnit se nezávisle na klientech, kteří jej používají.
  • Šablonová metoda (Template Method): Definuje kostru algoritmu v operaci, odkládá některé kroky na podtřídy. Umožňuje podtřídám předefinovat některé kroky algoritmu, aniž by měnily jeho strukturu.
  • Návštěvník (Visitor): Představuje operaci, kterou je třeba provést nad prvky struktury objektů. Umožňuje definovat novou operaci bez změny tříd prvků, nad kterými operuje.