Junior — Middle
W jaki sposób można powiadomić View o zdarzeniach lub zmianach w architekturze MVP?
sobes.tech AI
Odpowiedź od AI
W architekturze MVP (Model-View-Presenter) widok jest powiadamiany o zdarzeniach lub zmianach za pomocą interfejsu, który implementuje widok i który wywołuje prezentera. Główne sposoby powiadamiania:
- Wywołania zwrotne (Callbacks): Presenter wywołuje metody interfejsu widoku, aby poinformować o zmianach.
- Obserwator (Observer): Widok subskrybuje zdarzenia prezentera i otrzymuje powiadomienia.
- Użycie LiveData lub RxJava (w Android): Presenter aktualizuje dane, a widok subskrybuje zmiany i reaguje automatycznie.
Przykład z interfejsem widoku:
interface MyView {
fun showData(data: String)
fun showError(message: String)
}
class MyPresenter(private val view: MyView) {
fun loadData() {
// ładowanie danych
val data = "Przykład danych"
view.showData(data) // powiadamiamy widok
}
}
W ten sposób, presenter kontroluje logikę i powiadamia widok przez metody interfejsu.