Pověz mi o vzorecích návrhu používaných při vývoji aplikací pro Android.
sobes.tech AI
Odpověď od AI
MVC (Model-View-Controller): Rozděluje aplikaci na tři vzájemně propojené části:
- Model: Obchodní logika a data.
- View: Zobrazení dat.
- Controller: Zpracovává vstup uživatele a aktualizuje Model a View.
MVP (Model-View-Presenter): Vylepšená verze MVC pro Android. Presenter působí jako prostředník mezi Modelem a View. View nemá přímý přístup k Modelu.
MVVM (Model-View-ViewModel): Založené na datovém vazbě (data binding). ViewModel obsahuje data a logiku prezentace, aniž by odkazoval na View. View sleduje změny ve ViewModel.
Čistá architektura: Rozdělení aplikace do vrstev (Doména, Data, Prezentace) s jasnými závislostmi a pravidly.
Singleton: Zajišťuje, že třída má pouze jednu instanci.
Factory Method: Poskytuje rozhraní pro tvorbu objektů v nadtřídě, umožňující podtřídám měnit typ vytvářených objektů.
Observer:
Umožňuje objektu informovat závislé objekty o změnách stavu. Často se používá s LiveData nebo Flow.
Adapter:
Umožňuje třídám s nekompatibilními rozhraními spolupracovat. Používá se například k vázání dat na RecyclerView.
Builder: Umožňuje krokové vytváření složitých objektů.
Decorator: Dynamicky přidává novou funkčnost objektu tím, že jej obaluje.