Ответ
В MVP Presentation слой (View) передает данные через интерфейс к Presenter, который обрабатывает их и обновляет View. View не должна напрямую взаимодействовать с Model.
Пример:
// View interface
interface UserView {
fun showUserData(user: User)
}
// Presenter
class UserPresenter(private val view: UserView) {
fun loadUser() {
val user = User("John Doe") // Получение данных (например, из Model)
view.showUserData(user) // Передача данных во View
}
}
// Activity (View)
class UserActivity : AppCompatActivity(), UserView {
override fun showUserData(user: User) {
textView.text = user.name
}
}
View пассивна и только отображает данные, логика обработки — в Presenter.