Junior
Jaké vzory návrhu znáte?
sobes.tech AI
Odpověď od AI
-
Vytváření
- Fabriková metoda (způsob vytváření objektů pomocí továrního vzoru, nikoli přímo přes konstruktor)
- Abstrární továrna (rozhraní pro tvorbu souvisejících rodin objektů bez specifikace jejich konkrétních tříd)
- Builder (krok za krokem tvorba složitých objektů, umožňující získat různé varianty objektu pomocí stejného konstrukčního kódu)
- Prototyp (vytváření nových objektů kopírováním existujícího vzoru)
- Singleton (zaručuje, že existuje pouze jedna instance třídy a poskytuje k ní globický přístup)
-
Strukturální
- Adaptér (umožňuje objektům s nekompatibilními rozhraními spolupracovat)
- Most (odděluje abstrakci od implementace, umožňuje jejich nezávislou změnu)
- Seskupovač (zachází s jednotlivými objekty i skupinami objektů stejně)
- Dekorátor (dynamicky přidává objektem nové odpovědnosti)
- Fasáda (poskytuje sjednocené rozhraní k sadě rozhraní podsystemu)
- Flyweight (efektivně spravuje velké množství malých objektů)
- Proxy (poskytuje náhradní objekt, který řídí přístup k jinému objektu)
-
Chování
- Řetězec odpovědností (předává požadavky po řetězci zpracovatelů)
- Příkaz (zabalí požadavek jako objekt, umožňuje parametrizovat klienty, zařadit požadavky do fronty, zaznamenávat je a podporovat jejich vrácení)
- Iterátor (poskytuje způsob, jak sekvenčně přistupovat ke všem prvkům složeného objektu, aniž by odhalil jeho vnitřní strukturu)
- Mediátor (zjednodušuje interakci mezi více objekty zavedením mediátoru)
- Memento (umožňuje uložit a obnovit vnitřní stav objektu bez narušení jeho zapouzdření)
- Pozorovatel (definuje závislost 1:n mezi objekty, takže když se jeden změní, všichni závislí jsou automaticky upozorněni a aktualizováni)
- Stav (umožňuje objektu měnit své chování v závislosti na vnitřním stavu)
- Strategie (definuje rodinu algoritmů, kapsuluje je a činí je zaměnitelnými)
- Šablonová metoda (definuje skelet algoritmu v metodě, umožňuje podtřídám předefinovat některé kroky bez změny jeho struktury)
- Návštěvník (umožňuje přidávat nové operace do hierarchie tříd bez jejich změny)
V Android vývoji se často používají vzory MVx (MVP, MVVM) a vzory z knihovny Android Architecture Components (Room, ViewModel, LiveData, Navigation).