Сколько методов в интерфейсе View в MVI

«Сколько методов в интерфейсе View в MVI» — вопрос из категории Архитектура, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В интерфейсе View в MVI (Model-View-Intent) обычно объявляется один основной метод — render(), который принимает состояние (State) и обновляет UI в соответствии с ним. Однако иногда добавляют дополнительные методы, например, для обработки событий (events() или intents()), но это зависит от реализации.

Пример минимального интерфейса:

interface MviView<State, Intent> {
    fun render(state: State)
    fun intents(): Observable<Intent> // или Flow/Channel в корутинах
}

В чистом MVI View должен быть максимально простым и пассивным, поэтому чаще всего ограничиваются одним render().