Как лучше реализовать архитектуру MVC/MVP? Делаю проект. Использую MVP архитектуру. Вид разделен на компоненты
Первый вопрос. Я получаю всю информацию об изменении в компонентах, произвожу все необходимые расчеты, а в модель передаю уже готовые значения. Можно ли в MVC/MVP так делать? Или вид должен только получать данные, а производить вычисления в другом слое
Второй вопрос. При расчетах нужны "служебные данные", типа координат, положения и тд. То есть это данные, которые не должны быть в модели. То есть логично эти данные передавать только между компонентами. При каком-либо изменении, эти данные должны меняться для всех компонентов. Решение, которое я реализовал: при инициализации компонентов, передаю объект, который хранит в себе эти данные. Компоненты при расчетах обращаются к этому объекту и изменяют его при необходимости. Таким способом у компонентов появляется доступ к актуальным данным. Можно ли так делать?

17 Ноя 2020 в 19:45
147 +2
0
Ответы
1

Ответ на первый вопрос: В MVP архитектуре обычно предполагается, что логика и вычисления находятся в презентере (Presenter), а модель (Model) содержит только данные и логику доступа к данным. Таким образом, лучше всего вычисления производить в презентере, а уже готовые значения передавать в модель для дальнейшего отображения в виде. Это позволит разделить ответственности между компонентами и сделает код более чистым и поддерживаемым.

Ответ на второй вопрос: В вашем случае передача "служебных данных" между компонентами через специальный объект, который хранит эти данные, является распространенным способом реализации такой функциональности. Этот подход позволяет обеспечить доступ к актуальным данным всем компонентам, которые имеют к ним доступ. Однако, важно убедиться, что обновление этих данных происходит корректно и безопасно, чтобы избежать проблем синхронизации и состояния. В целом, данный подход является допустимым и может быть использован для решения вашей задачи.

17 Апр в 22:00
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 90 581 автору
Первые отклики появятся уже в течение 10 минут
Прямой эфир