Jump to content

Иерархическая модель-представление-контроллер

Структура приложения с PAC .

Иерархическая модель-представление-контроллер ( HMVC ) — это архитектурный шаблон программного обеспечения , вариант модели-представления-контроллера (MVC), аналогичный представлению-абстракции-управлению (PAC), который был опубликован в 2000 году в статье. [ 1 ] в журнале JavaWorld . Авторы, очевидно, не знали о PAC, опубликованном 13 годами ранее. [ 2 ]

Контроллер осуществляет некоторый контроль: сначала он выбирает модель, а затем представление, реализуя механизм утверждения со стороны контроллера. Модель не позволяет представлению напрямую обращаться к источнику данных.

Самым большим практическим преимуществом использования архитектуры HMVC является «виджетизация» структур контента. [ 3 ] Примером могут быть комментарии, рейтинги, отображение RSS-каналов Twitter или блога или отображение содержимого корзины покупок на веб-сайте электронной коммерции. По сути, это часть контента, которую необходимо отображать на нескольких страницах и, возможно, даже в разных местах, в зависимости от контекста основного HTTP-запроса.

Традиционные фреймворки MVC обычно не дают прямого ответа на эти типы структур контента, поэтому программисты часто дублируют и переключают макеты, используют собственные помощники, создают свои собственные структуры виджетов или файлы библиотек или извлекают несвязанные данные из основного запрошенного контроллера. для перехода к представлению и частичному рендерингу. Обратной стороной является то, что ответственность за рендеринг определенного фрагмента контента или загрузку необходимых данных распределяется по нескольким областям и дублируется в соответствующих местах.

HMVC, или, в частности, возможность отправлять подзапросы Контроллеру для выполнения этих обязанностей, направлена ​​на решение этой проблемы. Структура имитирует структуру традиционного MVC. Например, если нужно загрузить некоторые данные о комментариях и отобразить их в формате HTML, можно отправить запрос контроллеру комментариев с некоторыми параметрами. Затем запрос взаимодействует с моделью, выбирает представление, которое отображает содержимое. Отличие от традиционного MVC заключается в том, что вместо отображения комментариев на отдельной странице они отображаются внутри статьи, которую просматривает пользователь. В этом отношении HMVC стремится повысить модульность кода , обеспечить возможность повторного использования и обеспечить лучшее разделение задач.

См. также

[ редактировать ]
  1. ^ Кай, Джейсон; Капила, Ранджит; Пал, Гаурав (21 июля 2000 г.). «HMVC: Многоуровневая модель для разработки надежных клиентских уровней» . JavaWorld . Проверено 18 июля 2020 г.
  2. ^ «ТП» (8 сентября 2000 г.). «HMVC PAC?» . Письма в редакцию. JavaWorld . Архивировано из оригинала 19 марта 2006 г.
  3. ^ Вэнс Лукас (апрель 2011 г.). «почему шаблон HMVC?» . StackOverflow . Проверено 15 октября 2013 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 772e2b13f7bb4324e721beb8b25d74e4__1720693500
URL1:https://arc.ask3.ru/arc/aa/77/e4/772e2b13f7bb4324e721beb8b25d74e4.html
Заголовок, (Title) документа по адресу, URL1:
Hierarchical model–view–controller - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)