Opowiedz o wzorcach projektowych używanych w tworzeniu aplikacji na Androida.
sobes.tech AI
Odpowiedź od AI
MVC (Model-Widok-Kontroler): Dzieli aplikację na trzy powiązane ze sobą części:
- Model: Logika biznesowa i dane.
- Widok: Wyświetlanie danych.
- Kontroler: Przetwarza wejście użytkownika i aktualizuje Model i Widok.
MVP (Model-Widok-Presenter): Ulepszona wersja MVC dla Androida. Presenter działa jako pośrednik między Modelem a Widokiem. Widok nie ma bezpośredniego dostępu do Modelu.
MVVM (Model-Widok-ViewModel): Oparte na wiązaniu danych (data binding). ViewModel zawiera dane i logikę prezentacji, nie odwołując się do Widoku. Widok obserwuje zmiany w ViewModel.
Czysta architektura: Podział aplikacji na warstwy (Domena, Dane, Prezentacja) z wyraźnymi zależnościami i zasadami.
Singleton: Gwarantuje, że klasa ma tylko jedną instancję.
Metoda fabryczna: Udostępnia interfejs do tworzenia obiektów w superklasie, umożliwiając podklasom zmianę typu tworzonych obiektów.
Obserwator:
Umożliwia obiektowi powiadamianie zależnych obiektów o zmianach stanu. Często używany z LiveData lub Flow.
Adapter:
Umożliwia klasom z niekompatybilnymi interfejsami współpracę. Używany np. do wiązania danych z RecyclerView.
Builder: Umożliwia krokowe tworzenie złożonych obiektów.
Dekorator: Dynamically adds new functionality to an object, wrapping it.