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