Junior
Jaké vzory návrhu znáte?
sobes.tech AI
Odpověď od AI
Generátory:
- Singleton: Zaručuje, že existuje pouze jedna instance třídy a poskytuje k ní globální přístupový bod.
- Factory Method: Definuje rozhraní pro tvorbu objektu, ale umožňuje podtřídám rozhodnout, který konkrétní třída bude instanciována.
- Abstract Factory: Poskytuje rozhraní pro tvorbu rodin souvisejících nebo závislých objektů, aniž by specifikoval jejich konkrétní třídy.
- Builder: Odděluje konstrukci složitého objektu od jeho reprezentace, takže stejný konstrukční proces může vytvářet různé reprezentace.
- Prototype: Vytváří objekty duplikací existujícího vzoru (prototypu), místo opakovaného provádění konstrukčního procesu.
Strukturální:
- Adapter: Převádí rozhraní jedné třídy na jiné rozhraní, které očekávají klienti. Umožňuje spolupráci tříd s neslučitelnými rozhraními.
- Bridge: Odděluje abstrakci od její implementace, umožňuje jejich nezávislou změnu.
- Composite: Skládá objekty do stromových struktur pro reprezentaci hierarchií "části a celek". Umožňuje klientům pracovat jednotně s jednotlivými objekty i složenými strukturami.
- Decorator: Dynamicky přidává nové odpovědnosti k objektu obalením do speciálního dekorátoru.
- Facade: Poskytuje sjednocené rozhraní k sadě rozhraní podsystému. Zjednodušuje používání podsystému.
- Flyweight: Používá sdílený stav mezi mnoha malými objekty ke snížení paměťové náročnosti a zvýšení výkonu.
- Proxy: Poskytuje zástupce objektu, který řídí přístup k originálnímu objektu.
Behaviorální:
- Chain of Responsibility: Přenáší požadavek přes řetězec zpracovatelů. Každý zpracovatel rozhodne, zda požadavek zpracovat nebo předat dalšímu.
- Command: Zapouzdřuje požadavek jako objekt, což umožňuje parametrizovat klienty různými požadavky, řadit požadavky do fronty nebo je zaznamenávat.
- Interpreter: Definuje gramatické reprezentace jazyka a obsahuje interpretér pro interpretaci vět v tomto jazyce.
- Iterator: Poskytuje způsob sekvenčního přístupu ke všem prvkům složeného objektu, aniž by odhalil jeho vnitřní reprezentaci.
- Mediator: Definuje objekty, které řídí interakci mezi sadou jiných objektů. Podporuje slabé spojení, umožňuje objektům komunikovat bez přímého odkazování na sebe navzájem.
- Memento: Umožňuje ukládání a obnovení vnitřního stavu objektu bez narušení inkapsulace.
- Observer: Definuje závislost "jeden ku mnoha" mezi objekty, takže při změně stavu jednoho jsou všechny závislé objekty upozorněny a automaticky aktualizovány.
- State: Umožňuje objektu měnit své chování v závislosti na jeho vnitřním stavu. Každý stav je inkapsulován v samostatné třídě.
- Strategy: Definuje rodinu algoritmů, inkapsuluje je a činí je vzájemně zaměnitelnými. Umožňuje výběr algoritmu za běhu.
- Template Method: Definuje kostru algoritmu v operaci, odkládá některé kroky na podtřídy. Umožňuje podtřídám definovat kroky algoritmu bez změny struktury samotného algoritmu.
- Visitor: Představuje operaci, která má být provedena nad prvky struktur objektů. Umožňuje definovat nové operace bez změny tříd prvků, na kterých působí.