Маршрут обработчика форм для загрузки изображений - PullRequest
0 голосов
/ 19 марта 2012

У меня есть страница редактирования, которая увеличивается с размером приложения. Сейчас мы сталкиваемся с ситуацией, когда действие на стороне сервера (MVC) обрабатывает загрузку и преобразование изображений наряду с обычным сохранением текста в базе данных.

Какой лучший способ сделать это более удобным? Отдельный контроллер для загрузки изображений, чтобы мы могли создавать API для записи? Или больше действий в одном контроллере?

1 Ответ

0 голосов
/ 19 марта 2012

Есть несколько способов, которые могут помочь вам решить проблему с ростом сложности:

  • Реализация HMVC , где каждый контроллер вызывает суб-контроллеры. Это позволит вам разделить задачи «обновления» на логические и управляемые куски. Особенно, если я прав, думая, что есть еще одна «страница обновления». Структура HMVC позволит вам собирать различные страницы обновления из существующих фрагментов с незначительным дополнительным шумом.
    Главный недостаток : относительно большие изменения в архитектуре.

  • Разделить страницы обновления на более мелкие формы, каждая из которых подчиняется своему действию контроллеров (или, возможно, другому контроллеру).
    Основной недостаток : пользователь может обновить только одну деталь за один раз

  • Развивайте уровень модели, чтобы используемый вами API взаимодействовал с уровнем обслуживания вместо уровня модели домена. Это позволит вам изолировать сложность обновлений и предоставить более простой интерфейс для использования в контроллере. Это также будет иметь дополнительное преимущество составления формы (ов) обновления из управляемых частей. Но я не знаю штрафов, которые возникают при таком подходе ... никогда не использовал его сам.

Суть в том, что вам придется изменить одну часть MVC. В вашей ситуации я бы выбрал способ HMVC, но в основном потому, что я с ним знаком, а мультиформная страница может вызвать ярость у пользователей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...