Все рекомендуют учить/использовать/молиться на MVC.
Сталкиваюсь с ним в основном в джумле, то развилась аллергия на нубское применение: например, зашел я в файл template.php, а там написано:
view->printHTML(); ?>
И соответственно я ищу эту функцию по файлам, в ней подключаются еще три файла, requir
в цикле и тому подобное. Я понимаю, что это не "pure MVC", но когда шаблон используется везде, даже если основной фреймворк к этому не приспособлен + провоцирует на такую кашу из лишних файлов, меня это настораживает.
И собственно вопрос: всю жизнь, как недавно выяснилось, использовал фасад либо просту
пару код(функция/класс/require)+шаблон для простых модулей. Для пары кодер+верстальщик второе мне кажется идеальным.
Чем MVC лучше и есть ли более адекватные паттерны для командной работы?Или все-таки "MVC" - просто очередная крутая аббревиатура для непрямого массажа мозга работодателям?
Ответы
Ответ 1
Ёлка-зеленки, что я тут читаю!?
Ребят. Если вы сталкиваетесь с плохим кодом и в нём плохой программист написал
И, соответственно, я ищу эту функцию по
файлам, в ней подключаются ещё три
файла, require в цикле и тому
подобное.
Это не проблема Архитектуры MVC — это проблема кривых рук, тупой головы и неправильного понимания.
MVC — это очень удобно.
Если интересно узнать про временные рамки создания, то с помощью YII Framework админк
для сайта можно сделать за срок примерно от часа до 3 часов. Пусть она будет не «Ах, как красиво», зато полностью функциональна.
MVC — это круто!
От программиста, при условии, что он юзает Framework, нужно только логическое представление его проекта и понимание принципов архитектуры MVC.
Для большинства фреймворков, первым демо для нубов делают создание "БЛОГА", дл
чего? Ну обычно, в хорошем случае, почти все веб-девелоперы делают свой блог, а ту
раз — и поднять его на каком-либо фреймворке за 10-30 минут, вааще круть. На нём будет и проверка на вводимые символы путем небольших манипуляций, и проверка на заполнение и прочее, прочее, прочее.
Кто сталкивался, опять же повторюсь, с нубовскими кодами ребят, вырвите эти рук
у тех, кто писал, а на архитектуру не ругайтесь. Если вы не прочувствовали её или н
поняли - это не значит что это плохо. Скорее, Вы не компетентны в вопросе, а не архитектура, ведь на ней сейчас разрабатываются огромные проекты, в том числе и высоконагруженные.
Плюсы MVC можно перечислять долго, минусы тоже есть.
Допустим, долго вы будете писать кеширование на вашем ресурсе? Ну, наверное, потратит
точно день-два, это при хорошем стечении обстоятельств, и то, не уверен, ведь применять его нужно на весь код.
А в MVC вы просто добавляете, дай боже, 2—10 строк в код и радуетесь, что ваш ресур
меньше долбит БД, больше отправляет кеша пользователю, все довольны, хозяин рад. Сервер отдыхает.
Писать и расписывать я могу долго, но долбить в стену — это неправильно. В стен
нубы долбятся, я очень надеюсь, что их на данном ресурсе всё же оооочень маленькое кол-во.
Учите матчасть, читайте про архитектуру MVC, учитесь, и пытайтесь понять на примерах!
Удачи.
Ответ 2
Отвечу безотносительно языка и платформы касательно целесообразности MVC как такового
Я недавно участвовал в разработке приложения (типа виртуальной клавиатуры), практическ
весь функционал которого сводился к пользовательскому интерфейсу. Приложение писалос
на WPF с использованием MVVM (это не MVC, но достаточно близко к этому). Почему был выбран подход на основе MVVM? Потому что это очень сильно облегчает тестирование: сведение вида к минимуму позволяет тестировать отдельно модель и контроллер. Тестирование вида ограничивается внешним просмотром интерфейса. Это дорогого стоит.
Ответ 3
Ругать MVC судя по одной из реализаций, это тоже самое что сказать что все люди уголовник
потому что вы знакомы с одним человеком, и он уголовник. Прежде чем кого-то сбросит
с лестницы, стоит почитать принципы этого подхода, и, если вы на 100% уверены что в состоянии придумать что-то лучше, либо же лучше реализовать основные принципы MVC, сделайте это! После судите!
Исторически сложилось так что я больше работал с форумами vBulletin, но вот в это
месяце пришлось поработать с новой версией IPB в основе которой уже лежат принципы MVC
Так вот, мне теперь хочется сбросить с лестницы разработчиков vBulletin. Потому чт
если вы напишете приложение, смешав стиль функции, классы, и каждая страница это свой php файл. Например там страница пользователя и.т.д. То вас забросают г*вном. Но вот vBulletin, это же совсем другое дело! Потому что это разработка Jelsoft Enterprises Ltd! На данный момент, глядя на инструментарий который нам дает php, я не наблюдаю чего-то более приемлемого. А наломать дров можно с любым подходом. Это не трудно.
p.s Делайте всегда качественно! Плохо само собой получается!
Ответ 4
Если честно, мое мнение - архитектура MVC - дерьмо. Простите за резкость, но сталкиваяс
с шаблонными сайтами, построенными на такой архитектуре ... хочется просто плевать, а создателя сего чуда сбросить с лестницы, либо крыши 20-этажного дома.
Лично мое мнение:
Если есть возможность использовать шаблоны HTML + JS (для Ajax запросов, которы
будут редактировать шаблон) - используйте.
Практически любой код можно написать опираясь на 3 паттерна: (Фасад, Декоратор, Адаптер).
Конечно, не везде покатит, но как практика показывает........
Всегда используйте ООП. Это облегчит работу тому, кто будет после Вас писать код..
да и если Вы напишите хотя бы 100000 строк без ООП, потом долго будете разбирать свой же код.
Ответ 5
Если интересно узнать про временные рамки создания, то с помощью YII framework админку для сайта можно сделать примерно от часа до 3 часов.
Только что то все кто так пишет, скромно умалчивают что перед этим нужно потратить пару месяцев на изучение того самого YII framework
Ответ 6
Я, конечно, дико извиняюсь, но своё тоже добавлю:
MVC и прочие скрумы - это настоящая КАМАСУТРА для разработчиков. Также вспоминается басня товарища Крылова "Квартет".
Ну а вы - думайте сами, иметь или не иметь.
Комментариев нет:
Отправить комментарий