Sobes.tech
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.