Ответ
В интерфейсе 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().
Ответ 18+ 🔞
А, ну вот смотри, тут про MVI разговор. Тема, конечно, ёперный театр, но если разобраться — всё просто, как три копейки.
Так вот, смотри. Интерфейс этой самой View в MVI — это обычно такая тихая гавань, куда приплывает готовое состояние и говорит: «Ну что, братва, обновляйся». И главный, блядь, капитан на этом корабле — один-единственный метод render(). Он сидит, ждёт, когда ему принесут этот самый State, и тупо рисует по нему интерфейс. Никакой своей мозговой активности, чистое исполнительное звено. Доверия к нему, ебать, ноль, чтобы он сам не начал что-то решать.
Но иногда, понимаешь, народ начинает выёживаться. Хочется ему не просто картинку менять, а ещё и события какие-то ловить, интенты генерить. Вот и лепят тогда второй метод, например intents(), который возвращает поток этих самых намерений пользователя. Типа, «нажал кнопку — вот тебе интент OnButtonClicked».
Пример кода, чтобы было понятнее, вот смотри:
interface MviView<State, Intent> {
fun render(state: State)
fun intents(): Observable<Intent> // или Flow/Channel в корутинах
}
Видишь? Всё прозрачно. Но если уж говорить по-честному, по канону, то настоящий, блядь, пуританский MVI требует, чтобы View был тупым, как пробка. Никакой лишней движухи. Один render() — и все дела. Всю логику, всю работу с данными — нахуй, в презентер или в какую-нибудь умную компоненту. А View пусть сидит и красиво моргает пикселями, вот и вся его работа. Сам от такой простоты иногда охуеваешь, но в этом, блядь, и есть вся соль подхода.