以前不懂前端的工程化开发(之前都是那种一个html混合一大堆代码的那种开发)。最近看了一下MVVM前端架构,对比MVC,说一下本身的理解:MVVM架构本质上仍旧是MVC的变种,或者说,是MVC中VIEW的进一步MVC架构的设计。html
一、view表明视图,即咱们所看到的那一层。MVC架构中的view较为宽泛,泛指全部前端的组件和前端的逻辑,而随着前端所能承担的视图以外的数据处理能力愈来愈强,view层也越来越远离其原本的划分意义,MVVM架构即是对MVC架构中的view层以其自身的架构设计思路进行的进一步划分。MVVM架构中view层即不具备视图之外的数据操做功能的MVC架构view层;
二、model层即模型层,但从功能上来讲,应该叫“模型”处理层。“模型”必然是某种具象的抽象表示,程序能够经过调用改模型,而后加以操做(例如赋值),使得“模型”从一种抽象再次变为具象。MVC架构中model层多以指代对数据库中数据的抽象(固然包括其余)进行操做,操做方法汇聚到这一层。而MVVM架构中多以是指代view层中具体视图模块(dom)所承担任务的具体方法的抽象(也就是说前端的方法聚合在同一层);
三、controller层和view-model层虽然说名称不一样,但做用相同,便是起到某种“承接”的做用,之因此名称不一样,是由于两者的“承接”手段存在差别。controller层是应用程序中处理用户交互的部分。一般控制器负责从视图读取数据,控制用户输入,并向模型发送数据,而view-model则相对来讲功能较为单一,仅仅是经过设置,让自身监听视图dom控件、绑定model层方法,让两者的内容相互对应。前端