Ответ
Стратегии в Moxy — это механизмы, определяющие, как и когда обновлять View. Они управляют жизненным циклом View и решают, нужно ли применять изменения сразу или отложить их (например, при повороте экрана).
Пример стратегии:
@InjectViewState
class Presenter : MvpPresenter<View>() {
fun loadData() {
viewState.showLoading()
// Загрузка данных
viewState.showData(data)
}
}
@StateStrategyType(AddToEndSingleStrategy::class)
interface View : MvpView {
fun showLoading()
fun showData(data: List<String>)
}
Популярные стратегии:
AddToEndSingleStrategy— заменяет последний такой же вызов.SkipStrategy— игнорирует повторные вызовы.OneExecutionStrategy— выполняет вызов только один раз.
Стратегии помогают избежать лишних обновлений View и управлять состоянием при изменении конфигурации.