mvvm与mvc
谈你对 mvvm 的理解 //MVC也要掌握,通常MVVM和MVC同时问,MVC自行百度
MVVM 是 Model-View-ViewModel 的缩写其中:
Model 代表数据模型,可以在 Model 中定义数据修改和操作的业务逻辑。可以把 Model 称为数据层,因为它仅仅关注数据本身,不关心其他行为。
View 是用户操作的界面,可以称为视图层。负责视图展现工作。当ViewModel 对 Model 进行更新的时候,会通过数据绑定更新到 View 。
ViewModel 称为业务逻辑层,是数据层和视图层通信的桥梁。View 需要什么数据,ViewModel 要提供这个数据,有些操作也需要 ViewModel 的响应。 就是连接视图与数据的中间件通讯。
数据(Model)和视图(View)是不能直接通讯的,而是需要通过ViewModel来实现双方的通讯。【总结】:MVVM 模式简化了界面与业务的依赖,减少了数据的频繁更新。在 MVVM 中,利用双向绑定技术,使得 Model 变化时,ViewModel 会自动更新,而 ViewModel 变化时,View 也会自动更新。
MVVM 的本质是 数据驱动,而非直接操纵dom
View 产生事件,使用 ViewModel进行逻辑处理后,通知Model更新数据,Model把更新的数据给ViewModel,ViewModel自动通知View更新界面,而不是主动调用View的方法。
MVC
MVC,Model-View-Controller,职责分类如下:
* Model,模型层,即数据模型,用于获取和存储数据。
* View,视图层,即xml布局
* Controller,控制层,负责业务逻辑。
View层 接收到用户操作事件,通知到 Controller 进行对应的逻辑处理,然后通知 Model去获取/更新数据,Model 再把新的数据 通知到 View 更新界面。这就是一个完整 MVC 的数据流向。