в поля и помещается в обьект в классе.
Так же я не могу говорить, что преимущество MVI конкретно в том, что он так делает, потому что это все еще вопрос того, как программист сделает, а не как паттерн диктует или не диктует.
Когда у тебя обновлении УИ сконцертрировано в одном методе render, ты делаешь так:
if (viewState == ExampleState) {
view1.update(viewState);
view2.update(viewState);
…
} else if (viewState == ExampleState2) {
}
а когда у тебя это по 1 методу, то тебе надо сделать тоже самое, ток в каждом отдельном методе и убедиться в том, что ничего не забыл. Субьективно? Возможно.
Если у тебя кастомные вью, ты можешь им написать интерфейс, который скушает модельку и сам себя отрендерит как надо. в МВП этот подход подразумевает, что ты на каждый стейт вызываешь методы по очереди в каждой кастомной вью, которую надо сделать, и это првервщается в сложный менеджмент стейтов через методы.
Я бы не сказал, что он от этого лучше. Тебе точно так же за всем этим надо следить - правильной обработкой стейтов, только в другом месте. Всё что я думаю об этом - оно может быть хорошо и к месту, как в общем-то и любая другая архитектура. Мне, например, тупо не нравится, когда весь рендер висит в одной огромной функции. Не нравится, когда в стейте надо описывать всё дотошно и досканально, так еще и следить за ним так же, как и при обычном MVP. Оно очень, действительно ОЧЕНЬ красиво на бумаге, но на деле не выглядит реально лучше аналогов. Хотя имеет свои реальные плюсы, разумеется.
Обсуждают сегодня