MVW代表什么?

下面是AngularJS页面的内容描述:

AngularJS就是HTML,如果它是为构建web应用而设计的。带有数据绑定的声明式模板,MVW, MVVM, MVC,依赖注入和出色的可测试性故事,所有这些都是用纯客户端JavaScript实现的!

MVW代表什么? (考虑到MVC, MVVW, MVP等争论,我猜“whatever”,模型-视图- whatever =P)

174360 次浏览

它确实代表任何东西,如2012年Igor Minar的只要适合你 (< >强强调我的< / >强):

对于许多开发者来说,这是一个多么有争议的话题

几年来+AngularJS更接近MVC(或者更确切地说是它的一个 客户端变体),但随着时间的推移,由于许多重构 和api改进,它是现在更接近MVVM - $scope对象 可以被认为是ViewModel被装饰

能够对一个框架进行分类,并将其放入一个MV* 桶有一些优点。它可以帮助开发人员获得更多 通过更容易地创建心理模型来适应其api 对象构建的应用程序 框架。它还可以帮助建立所使用的术语 开发人员。< / p > 话虽如此,我宁愿看到开发者开发出出色的应用 that are 精心设计并遵循关注点分离,而不是看到它们被浪费 时间争论MV*废话。因此,我特此宣布 AngularJS是MVW框架-模型-视图- whatever 。在< em > <强>不管吗 代表“任何适合你的”;.

Angular为你提供了很大的灵活性,可以很好地独立呈现 来自业务逻辑和表示状态的逻辑。请使用燃料 您的生产力和应用程序的可维护性而不是热 讨论那些在一天结束时并不重要的事情 多。< / p >
话虽如此,我还是希望开发者能够开发出非常棒的应用 精心设计并遵循关注点分离,而不是看到它们被浪费 时间争论MV*废话。因此,我在此宣布 AngularJS是MVW框架-模型-视图- whatever在任何 代表“任何适合你的”

演职人员:AngularJS Post - Igor Minar

MVW代表Model-View-Whatever

为了完整起见,以下是所有提到的首字母缩略词:

MVC - __abc0

MVP - __abc0

MVVM - __abc0

MVW / MV* / MVx - Model-View-Whatever

还有更多:

HMVC - __abc0

MMV - __abc0

Mva - __abc0

Mvi - __abc0

我觉得MWV (Model View Whatever)或MV*是一个更灵活的术语,可以用来描述Angularjs的一些独特性。它帮助我理解它不仅仅是一个MVC(模型视图控制器)JavaScript框架,但它仍然使用MVC,因为它有一个模型视图和控制器。

它也可以被认为是一个MVP (Model - View - Presenter)模式。我认为Presenter是Angularjs中View的用户界面业务逻辑。例如,通过使用可以格式化数据以供显示的过滤器。这不是业务逻辑,而是显示逻辑,它让我想起了我在GWT中使用的MVP模式。

此外,它也可以是一个MVVM(模型视图视图模型),视图模型部分是两者之间的双向绑定。最后,它是MVW,因为它有其他的模式,你可以使用以及@Steve Chambers提到的。

我同意其他的回答,对这些术语过于迂腐可能是有害的,因为关键是要从术语中理解概念,但同样地,充分理解这些术语在设计应用程序代码时也会有所帮助,知道什么放在哪里以及为什么要这样做。