В MVC и MVP и аналогичных шаблонах часто используется подход «пассивного представления», который настолько глуп, насколько возможно (содержит как можно меньше логики). Это должно облегчить модульное тестирование и создать более четкое разделение вида и модели.
Я знаю, что эти паттерны бывают очень разными, и, особенно, понимание MVP, кажется, отличается от статьи к статье. Поэтому мой вопрос не в том, «как правильно реализовать этот шаблон».
Я хочу улучшить представление и разделение моделей и улучшить тестируемость приложения. Поэтому я хотел бы пойти на пассивный взгляд. Но мой вопрос: где бы вы разместили логику, которая явно связана только с точкой зрения? как текстовый просмотрщик должен прокручивать текст при перемещении полосы прокрутки. Вы бы поместили логику для этого в докладчик?
Допустим, просмотрщик текста обладает расширенной функциональностью. как установка маркировки на текстовых переходах. Логика для этого имеет смысл поместить в докладчик. Однако, если он смешан со всей «прямой» логикой представления (например, прокруткой текста), Presenter может стать очень большим, что тоже не очень хороший дизайн.
Таким образом, мой вопрос заключается в том, куда поместить связанную с отображением логику пассивного представления и какую функциональность можно смешать в Presenter.
Спасибо!