Точное использование / потребление шаблона HMVC? - PullRequest
2 голосов
/ 16 августа 2011

Я пытаюсь понять HMVC и как или если я должен рассмотреть это в моем текущем приложении MVC.

Относительно этой цитаты из [этого] [1] вопроса об архитектуре MVC,

Иногда шаблон Hierarchical-Model-View-Controller (HMVC) (он же Presentation-Abstraction-Control) - хороший выбор для работы с более сложные интерфейсы и требования к приложениям.

"Однако традиционная область действия MVC не дотягивает до управление элементами GUI (виджетами). MVC не обрабатывает сложности управления данными, управления событиями и приложения потоки. Как адаптация триады MVC, HMVC - Hierarchical-Model-View-Controller - парадигма стремится исправить некоторые из вышеперечисленных вопросов. "

Джейсон Кай, Ранджит Капила и Гаурав Пал (июль 2000 года). "HMVC: The многоуровневый шаблон для разработки сильных клиентских уровней ". JavaWorld Журнал.

[1]: https://stackoverflow.com/questions/113602/when-to-use-mvc-architecture

Я пытался понять PAC / HMVC, и приведенный выше текст вызвал отклик. Триадная абстракция HMVC может быть применена к «виджетам» на странице, или как при использовании механизма представления ASP.Net (по сравнению с механизмом представления Razor) это может привести к «элементам управления» на странице.

Было бы это точным применением шаблона HMVC?

Если это так, я не уверен, как именно это будет реализовано. Я вижу преимущества этого в том, что если главная страница загружается нормально, а некоторые пользовательские элементы управления / виджеты выдают ошибку, страница все равно загружается.

То есть контроллер главной страницы будет вызывать свои контроллеры виджетов? С основной точки зрения, я предполагаю, что наследование модели вступит в игру так же, как вы бы использовали объекты модели в виде простой страницы MVC.

Как бы это выглядело в коде - вызывая данные модели, скажем, из двух или трех триад вниз по цепочке из представления верхнего уровня?

Ответы [ 2 ]

1 голос
/ 07 октября 2011

Во-первых, вы поднимаете несколько интересных моментов.Во-вторых, я предполагаю, что вы знакомы с ASP.NET MVC Framework.

Просто подумав вслух, есть HtmlHelper с именем Partial (), который принимает контроллер и действие и возвращает результат.Итак, если вы пишете Action, который возвращает PartialView (который может быть использован как виджет - вы можете иметь несколько на страницу), может ли это быть правдоподобной реализацией описанной выше архитектуры?

Спасибо,

матовый

0 голосов
/ 27 декабря 2011

После прочтения различных ресурсов HMVC, я считаю, что ASP.NET MVC имеет HMVC начиная с версии 2.0 в виде Области .

Соедините это с T4MVC и вызов метода Action.PartialX (), и вы получите следующее модное слово HMVC .

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