之前不懂前端的工程化开发(以前都是那种一个html混合一大堆代码的那种开发)。最近看了一下MVVM前端架构,对比MVC,说一下自己的理解:MVVM架构本质上仍旧是MVC的变种,或者说,是MVC中VIEW的进一步MVC架构的设计。
1、view代表视图,即我们所看到的那一层。MVC架构中的view较为宽泛,泛指所有前端的组件和前端的逻辑,而随着前端所能承担的视图之外的数据处理能力越来越强,view层也愈来愈远离其本来的划分意义,MVVM架构便是对MVC架构中的view层以其自身的架构设计思路进行的进一步划分。MVVM架构中view层即不具有视图以外的数据操作功能的MVC架构view层;
2、model层即模型层,但从功能上来说,应该叫“模型”处理层。“模型”必然是某种具象的抽象表示,程序可以通过调用改模型,然后加以操作(例如赋值),使得“模型”从一种抽象再次变为具象。MVC架构中model层多以指代对数据库中数据的抽象(当然包括其他)进行操作,操作方法汇聚到这一层。而MVVM架构中多以是指代view层中具体视图模块(dom)所承担任务的具体方法的抽象(也就是说前端的方法聚合在同一层);
3、controller层和view-model层虽说名称不同,但作用相同,即是起到某种“承接”的作用,之所以名称不同,是因为二者的“承接”手段存在差异。controller层是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据,而view-model则相对来说功能较为单一,仅仅是通过设置,让自身监听视图dom控件、绑定model层方法,让二者的内容相互对应。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。