MVW代表什么?
MVW代表什么?
以下是AngularJS页面的内容描述:
如果HTML专门为构建Web应用程序而设计,那么AngularJS就是它的样子。具有数据绑定的声明性模板,MVW,MVVM,MVC,依赖注入以及出色的可测试性功能,均使用纯客户端JavaScript实现!
那MVW代表什么?
(考虑到MVC,MVVW,MVP等争论,我猜“无论什么”,Model-View-Whatever = P)
MVW代表模型-视图-任何事物。
为了完整起见,以下是提到的所有首字母缩略词:
MVC - 模型-视图-控制器
MVP - 模型-视图-主持人
MVVM - 模型-视图-视图模型
MVW / MV* / MVx - 模型-视图-任何事物
还有一些:
HMVC - 分层模型-视图-控制器
MMV - 多用途模型视图
MVA - 模型-视图-适配器
MVI - 模型-视图-意图
它确实代表着无论什么,例如来自2012年Igor Minar的“无论什么方法适合您”(我强调):
MVC vs MVVM vs MVP。这是一个很有争议的主题,许多开发者都可以花费数小时争论和辩论。
几年来,+AngularJS 更接近于 MVC(或者说是它的客户端变种之一),但随着时间的推移和许多重构和API的改进,它现在更接近于 MVVM - $scope 对象可以被视为被一个我们称之为控制器的函数所装饰的视图模型。
能够将框架归类并将其放入 MV* 的桶子中,有一些优点。它可以帮助开发人员通过创建代表使用该框架构建的应用程序的思维模型来更轻松地使用其API。它还可以帮助确立开发人员使用的术语。
话虽如此,我宁愿看到开发人员构建出设计良好且符合关注点分离的出色应用程序,而不是看到他们浪费时间争论 MV* 的无聊问题。基于这个原因,我在此宣布 AngularJS 是 MVW 框架 - Model-View-Whatever。其中Whatever 代表“任何适合您的方法”。
Angular 为您提供了很多灵活性,可以很好地将展示逻辑与业务逻辑和展示状态分离。请使用它来提高您的生产力和应用程序可维护性,而不是进行那些最终并不太重要的热烈讨论。