MVC与MVVM
MVC是Model-View- Controller的简写:模型(model) 视图(view) 控制器(controller)
Model(模型):是应用程序中用于处理应用程序数据逻辑的部分。
View(视图):是应用程序中处理数据显示的部分。
Controller(控制器):是应用程序中处理用户交互的部分。
模型(Model)指的是后端传递的数据。视图(View)指的是所看到的页面。C即Controller指的是页面业务逻辑。
mvc的好处主要有四点: 耦合性低; 重用性高; 部署快,生命周期成本低; 可维护性高。
但它同时也存在一些问题:不适合小型,中等规模的应用程序; 视图与控制器间的过于紧密的连接并且降低了视图对模型数据的访问
MVVM即Model-View-ViewModel的简写 :Model ---- View ---- VM(ViewModel)
**模型(Model)**指的是后端传递的数据。**视图(View)**指的是所看到的页面。**视图模型(ViewModel)**是mvvm模式的核心
mvvm的好处主要体现在两点:数据驱动 ; VM提供数据的双向绑定
MVC与MVVM的区别
使用MVC的目的就是将M和V的代码分离,MVC是单向通信。也就是View跟Model,必须通过Controller来承上启下。MVC和MVVM的区别并不是VM完全取代了C,只是在MVC的基础上增加了一层VM,只不过是弱化了C的概念,ViewModel存在目的在于抽离Controller中展示的业务逻辑,而不是替代Controller,其它视图操作业务等还是应该放在Controller中实现;而MVVM是连接view和model的桥梁,它有两个方向:一是将模型(Model)转化成视图(View),即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。二是将视图(View)转化成模型(Model),即将所看到的页面转化成后端的数据.实现的方式是:DOM 事件监听。这两个方向都实现的,我们称之为数据的双向绑定。
VVM实现的是业务逻辑组件的重用,使开发更高效,结构更清晰,增加代码的复用性。使开发更高效,结构更清晰,增加代码的复用性。