Что означает MVW?

Вот описание содержания страницы AngularJS:

AngularJS - это то, чем был бы HTML, если бы он был разработан для создания веб-приложений. Декларативные шаблоны с привязкой данных, MVW, MVVM, MVC, внедрением зависимостей и великолепной историей тестируемости - все это реализовано с помощью чистого клиентского JavaScript!

Так что же означает MVW? (Учитывая ссору MVC, MVVW, MVP и т. Д., Я бы предположил "что угодно", Model-View-Wh менно =P)

5 ответов

Решение

Это действительно означает то, что работает для вас

MVC против MVVM против MVP. Что за спорная тема, о которой многие разработчики могут часами спорить и спорить.

В течение нескольких лет AngularJS был ближе к MVC (или, скорее, к одному из его вариантов на стороне клиента), но со временем и благодаря множеству рефакторингов и улучшений API теперь он ближе к MVVM - объект $scope можно рассматривать как ViewModel, который является быть украшенным функцией, которую мы называем контроллером.

Возможность классифицировать фреймворк и поместить его в одну из групп MV* имеет некоторые преимущества. Он может помочь разработчикам освоиться с его API-интерфейсом, упрощая создание ментальной модели, представляющей приложение, которое создается с помощью фреймворка. Это также может помочь установить терминологию, которая используется разработчиками.

Тем не менее, я бы предпочел, чтобы разработчики создавали офигенные приложения, которые были бы хорошо спроектированы и следили за разделением интересов, чем смотрели бы, как они тратят время на споры о бессмысленности MV*. По этой причине я объявляю AngularJS фреймворком MVW - Model-View-Wh независимо от модели. Где Что бы ни означало "все, что работает для вас".

Angular дает вам большую гибкость, чтобы красиво отделить логику представления от бизнес-логики и состояния представления. Пожалуйста, используйте его, чтобы повысить производительность и удобство обслуживания приложений, а не горячие дискуссии о вещах, которые в конце концов не так важны.

Сказав это, я бы предпочел, чтобы разработчики создавали офигенные приложения, которые были бы хорошо спроектированы и следили за разделением интересов, чем смотрели бы, как они тратят время на споры о бессмыслице MV*. По этой причине я объявляю AngularJS фреймворком MVW - Model-View-Wh независимо от модели. Где Что бы ни означало "все, что работает для вас".

Кредиты: AngularJS Post - Игорь Минар

Я чувствую, что MWV (Model View Независимо от того, что) или MV* - более гибкий термин, чтобы описать некоторую уникальность Angularjs по моему мнению. Это помогло мне понять, что это нечто большее, чем JavaScript-фреймворк MVC (Model View Controller), но он по-прежнему использует MVC, поскольку у него есть Model View и Controller.

Его также можно рассматривать как шаблон MVP (Model View Presenter). Я думаю о Presenter как о бизнес-логике пользовательского интерфейса в Angularjs для View. Например, используя фильтры, которые могут форматировать данные для отображения. Это не бизнес-логика, а логика отображения, и она напоминает мне шаблон MVP, который я использовал в GWT.

Кроме того, это также может быть MVVM (Model View View Model), часть View Model, являющаяся двусторонней связью между ними. И, наконец, это MVW, поскольку у него есть другие шаблоны, которые вы можете использовать, а также упомянутые @Steve Chambers.

Я согласен с другими ответами о том, что педантизм в отношении этих терминов может быть вредным, поскольку смысл состоит в том, чтобы понять концепции из терминов, но при этом полное понимание этих терминов помогает при разработке кода приложения, зная, что идет куда и зачем.

Другие вопросы по тегам