MVC和MVVM的区别?(详解)

2018-11-2 小若 杂七杂八

MVC

M是指业务模型,V是指用户界面,C则是控制器

模型(model)-视图(view)-控制器(controller)

  • M即model模型,  数据层,负责数据的处理和获取的数据接口层。
  • V即View视图,  视图层, 是指用户看到并与之交互的界面。比如由html元素组成的网页界面,或者软件的客户端界面。
  • C即controller控制器, 控制器层,它是 Model 和 View 之间的胶水或者说是中间人。

应用场景:

主要用于中大型项目的分层开发

运作流程:

  1. Model和View是完全隔离的,由C作为中间人来负责二者的交互
  2. 同时三者是完全独立分开的
  3. 这样可以保证M和V的可测试性和复用性,但是一般由于C都是为特别的应用场景下的M和V做中介者,所以很难复用。

好处:

  • 耦合性低
  • 重用性高
  • 部署快,生命周期成本低
  • 可维护性高

缺点:

不适合小型,中等规模的应用程序

视图与控制器间的过于紧密的连接并且降低了视图对模型数据的访问


图示:



MVVM


Model --->每个页面的单独数据
View --->每个页面中的HTML结构
VM ---> 调度者

 Model---View---VM(ViewModel)


数据驱动



VM提供数据的双向绑定



标签: MVVM MVC

发表评论:

Powered by emlog 备案号:豫ICP备18002778号