Подтвердить что ты не робот

MVC vs HMVC для разработки веб-приложений

Теперь я использую шаблон MVC для веб-разработки. Я использую frameworkIgniter framework. Я нашел http://fuelphp.com/ и http://kohanaframework.org/, они используя HMVC. Я все еще не понимаю HMVC и почему мы должны использовать HMVC вместо MVC? Я смущаюсь после прочтения шаблона HMVC, и он не слишком отличается от MVC. Можете ли вы объяснить, почему мы должны использовать HMVC для разработки веб-приложений?

4b9b3361

Ответ 1

Шаблон иерархической модели-просмотра-контроллера (HMVC) является прямым расширение шаблона MVC, которому удается решить многие из проблемы масштабируемости уже упомянуты. HMVC был впервые описан в сообщение в блоге HMVC: многоуровневая модель для развития сильной клиентских уровней на веб-сайте JavaWorld в июле 2000 года. Большая часть статья концентрируется на преимуществах использования HMVC с графическим пользователем интерфейсы. Было некоторое предложение, что авторы, где фактически повторно интерпретирует другой шаблон, называемый Презентация-абстракция-контроль (PAC), описанная в 1987 году. Статья в JavaWorld содержится подробное объяснение того, как HMVC может помочь в дизайн настольных приложений с графическими интерфейсами. В центре внимания статья должна продемонстрировать, как HMVC можно использовать для создания масштабируемой сети приложения.

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

От Масштабирование веб-приложений с помощью HMVC Сэмом де Фрейсинетом

Ответ 2

HMVC может делать все, что может MVC и больше

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

в HMVC (Hierarchical Model View Controller) вы можете сделать это, я бы суммировал все качества здесь:

  • повторно использовать код в других проектах
  • упростить поддержку вашего проекта
  • масштабируйте свой проект
  • организовать код
  • модульная структура

вы никогда не вернетесь в MVC после попытки HMVC вот картина, которая будет более понятной.

См. рисунок

для CodeIgniter используйте "Модульные расширения - HMVC"

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

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

если вы хотите использовать codeigniter с шаблоном HMVC, вы можете использовать Modular Extensions - HMVC здесь

https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc

и вот несколько приятных и забавных видеоуроков, которые помогут вам на рельсах с HMCV в codeigniter

https://www.youtube.com/watch?v=8fy8E_C5_qQ&list=PLBEpR3pmwCawDZ6FgNYoyvicEz4HrJPec&index=1

надеюсь, что это поможет!

Ответ 3

Еще одна структура HMVC, которую вы должны проверить, Alloy. Я попытался объяснить концепцию в условиях непрофессионала на странице руководства HMVC Architecture, а в fooobar.com/info/48627/... для ответа на аналогичный вопрос.