Русскоязычный форум, посвященный фреймворку Kohana
http://forum.kohanaframework.su/

HMVC, использование.
http://forum.kohanaframework.su/viewtopic.php?f=21&t=616
Страница 1 из 1

Автор:  AmberLEX [ 19 апр 2013, 03:05 ]
Заголовок сообщения:  HMVC, использование.

Я вообще не очень понимаю, где можно использовать HMVC.
Может кто-то объяснит где преимущество и удобство?
(Пока реальный пример я видел наверное только в модуле PayPal для Execute the PayPal POST request and returns the result.)
Только не на выдуманных примерах типа комментариев или подключение меню или хидера и футера.
Пример отсюда http://kohanaframework.su/advanced/requ ... in_request - создается контроллер и экшен для того чтобы вернуть простой View
По сути, если есть статья и описаны связи, то получив статью и передав объект во View мы в foreach переберем комментарии к статье (это если грубо)
или <?php echo Request::factory('page/menu')->execute() ?> - чтобы вывести простой шаблон (который тоже находится в контроллере и экшене)
Как-то давно посмотрев обучалку "Kohana Framework от А до Я" видел то же самое, даже хуже - на каждый виджет создавались один контроллер и один экшен в котором возвращался обычный View, причем там это было совершенно неоправдано, да и каждый подзапрос все-таки занимает время.

Автор:  nkl [ 19 апр 2013, 08:30 ]
Заголовок сообщения:  Re: HMVC, использование.

Был как-то у меня опыт написания web-приложения процедурным методом в единственном файле index.php. Так вот размер этого файла к концу проекта достиг 190кб и 2500+ строк кода. Конечно, стартовать такой проект было очень легко и быстро, но уже к середине разработки я загибался от бесконечного рысканья по этому файлу в поисках нужной строки, а в конце разработки на исправление мелкой ошибки, особенно в алгоритме работы, уходило порой до 1 недели времени. А уж о том, что бы ввести в процесс разработки еще одного человека и тем самым ускорить процесс и речи не шло, потому что алгоритм работы этого файла index.php был известен только мне.

А при помощи HMVC один человек может писать и верстать интерфейс, другой будет поставлять в этот интерфейс результаты вычислений, ну а третий может заниматься хранением и доступом к исходным данным, на основании которого второй будет производить вычисления. Конечно в реальной жизни все это обычно делает один человек, но на будущее, когда приложение уже разрослось настолько, что один с ним никак не справишься (хотя это маловероятно, ведь ты сам все писал) к разработке с легкостью подключаются другие участники. И потом, если ты допустил ошибку в единственном файле приложения, то не работает все приложение, а если ты ошибся в каком-то контроллере, то все приложение продолжает работать дальше и недоступен только какой-то единственный контроллер.

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

Автор:  AmberLEX [ 19 апр 2013, 09:09 ]
Заголовок сообщения:  Re: HMVC, использование.

Теория, теория, слова...
Все только и говорят HMVS и используют, только не понятно как и где.
Пишут сайты, где 5-10 простых элементов на странице используют 5-10 подзапросов, чтобы вывести 2 пункта меню и статический футер с текстом. Это не hmvc - это hmvc ради hmvc или какойто быдлокод, даже не знаю... Все примеры и обучалки показывают как выполнить подзапрос с помощью Kohana и суют это туда, куда, думаю не стоит совать.
Вот пример для чего можно использовать: http://techportal.inviqa.com/2010/11/16 ... rformance/
У кого-то есть пример более-менее грамотного использования в проекте?

Автор:  nkl [ 19 апр 2013, 14:30 ]
Заголовок сообщения:  Re: HMVC, использование.

Погодите еще 2 недельки и будет вам пример. Сейчас работаю над корпоративной платформой, в которой такой подход позволит сторонним разработчикам писать конфигурации под эту платформу (документооборот, портал, бухгалтерия, склад и т.д. и т.п.) используя общий принцип доступа к данным.

Страница 1 из 1 Часовой пояс: UTC + 4 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/