Ответ
MVP (Model-View-Presenter) — это архитектурный паттерн для разделения логики приложения на три слоя:
- Model — отвечает за данные и бизнес-логику.
- View — отображает UI и передает действия пользователя Presenter’у.
- Presenter — связывает Model и View, обрабатывает логику представления.
Преимущества:
- Четкое разделение ответственности.
- Упрощает тестирование (Presenter не зависит от Android API).
- Уменьшает связность кода.
Пример:
// View (Activity/Fragment)
class MainActivity : AppCompatActivity(), MainView {
override fun showData(data: String) {
textView.text = data
}
}
// Presenter
class MainPresenter(private val view: MainView) {
fun loadData() {
val data = Model().getData() // Model
view.showData(data)
}
}
// Model
class Model {
fun getData() = "Hello MVP!"
}