Я студент, но надеюсь, что скоро перейду в индустрию программного обеспечения. Кажется, много шумихи по поводу паттерна программного обеспечения MVC. Я заметил, что PHP-фреймворки часто MVC, а как насчет не-веб-языков ... то же самое с ними? Для моей магистерской диссертации (C ++) я выбрал шаблон MVC, потому что он хорошо разделяет логику и пользовательский интерфейс.
В промышленности это часто используется? Если да, то каковы основные причины и каковы другие конкурирующие, популярные дизайны?
Ответы:
MVC получает много шумихи и использования, потому что это очень полезный шаблон для своей области.
MVC поощряет разделение интересов. Это может упростить разработку, если все сделано правильно. Любое приложение, которое отображает и / или изменяет данные, содержащиеся в хранилище данных, будет иметь функциональность MVC, но оно не может быть разделено. Нераспределение компонентов может привести к нежелательной взаимосвязи между проблемами.
С MVC должно быть относительно легко изменить интерфейс интерфейса (представление) приложения без изменения контроллера или модели. Это может быть желательно, если вам нужно разрешить доступ со смартфона, Интернета и одного или нескольких приложений.
Для больших команд MVC может позволить лучше использовать ресурсы, так как разработчикам может быть поручена работа на одном из уровней, и может не потребоваться много навыков на других уровнях. В зависимости от затрат на координацию ресурсов это может быть более эффективным.
источник
Да, это используется много. Приложения для iPhone / iPad настроены как MVC. Я видел много приложений asp.net MVC в последнее время.
MVC обеспечивает большую гибкость в будущем и действительно поощряет разработчиков писать отдельный код для каждой функции. Облегчает обслуживание.
источник
Это сейчас в моде.
Никогда не стоит недооценивать силу обмана. Вскоре кто-то придумает что-то еще, более новое, блестящее и более простое для понимания, и все будут осуждать MVC как корень всего зла (случившегося с веб-формами), или будет так много людей, использующих его, что более седые ветераны осудить это как «управленческий бык * * » (произошло с XML). Или произойдет переход к другому шаблону, потому что MVC «недостаточно гибок для решения сверхсложной проблемы, которую мне нужно решить» (языки со статической типизацией и динамические языки).
В конце концов, MVC - это каркасный подход, который подходит для ряда проблем, которые бросает веб-программирование. Это будет какое-то время, но я представляю причину, по которой большинство людей используют его, чтобы быть в моде.
РЕДАКТИРОВАТЬ
Пожалуйста, обратите внимание: я хорошо знаю, что шаблон MVC существует уже много лет и использовался в фреймворках до asp.net MVC. Я просто говорю, что в настоящее время он довольно популярен, поэтому он получает больше прессы, чем другие подходы. Я использую MVC для всех своих личных проектов, а также использую его в коммерческих проектах (я - разработчик .net).
Это была не напыщенная речь.
источник
По моему опыту, он используется не так часто, как следовало бы. Это гораздо лучшая модель, чем некоторые альтернативы, но в последние несколько лет она получила много ажиотажа; из-за этого существует много устаревших вещей, которые люди боятся конвертировать в MVC или боятся использовать MVC для будущей работы, потому что это за пределами их зоны комфорта.
источник
Я думаю, вы обнаружите, что все семейство Stack Exchange работают на MVC
источник
ASP.NET MVC приобрел большое значение для веб-приложений, поскольку .NET широко используется в промышленности.
Веб-приложения Microsoft эволюционировали от классического ASP до ASP.NET, основанного на веб-формах (чтобы дать возможность разработчикам VB6 Win Forms уже легко переводить их на новую границу Интернета).
К сожалению, веб-формы основаны на состоянии, а HTTP (на котором основана сеть) не имеет состояния, поэтому потребовалось немало неприятных обходных путей из-за таких вещей, как состояния просмотра.
ASP.NET MVC дает навыки, которые разработчики WebForms должны перевести на веб-среду с хорошим SoC и приложил немало усилий для того, чтобы быть тестируемым (поскольку WebForms не очень тестируемы, команда MVC приложила много усилий. усилия в рамки).
Тем не менее, это не панацея / серебряная пуля, и, как и любой каркас, есть времена, чтобы использовать его и времена, чтобы не использовать его. Надеюсь, люди не будут использовать его, чтобы попытаться решить все, в конце концов: когда ваш единственный инструмент - молоток, каждая проблема выглядит как гвоздь.
источник
Это просто исторический момент, поскольку MVC - это пара очень очень простых концепций, получивших ажиотаж от пары конкретных фреймворков, в которых это заметно в их маркетинговых материалах. Это также случается со многими из хороших методов, которые появились в разработке программного обеспечения. Это применяется дважды для псевдосостояния разработки, такой как HTTP; настолько, что я знаю только один действительно другой «шаблон», который используется в веб-мире, - модель, основанную на событиях ASP.Net WebForms с большим количеством клеветы.
Я, честно говоря, немного удивлен, что там достаточно для всей диссертации.
Но чтобы ответить на ваш вопрос. WebForms - это узкий кусок веб-пирога, в основном находящийся в бизнес-приложениях для интрасетей. Страницы с кодировкой спагетти без реального шаблона, вероятно, составляют приличную часть диаграммы Венна, но почти все, что является структурой, по крайней мере в значительной степени подвержено влиянию MVC, поэтому ваш краткий ответ будет оглушительным ДА .
источник