Страницы

Поиск по вопросам

вторник, 26 ноября 2019 г.

MVC - зачем и почему


Все рекомендуют учить/использовать/молиться на 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 и прочие скрумы - это настоящая КАМАСУТРА для разработчиков. Также вспоминается басня товарища Крылова "Квартет". Ну а вы - думайте сами, иметь или не иметь.

Комментариев нет:

Отправить комментарий