UMVCL8——MVX 之 MVVM
UMVCL8——MVX 之 MVVM
MVVM
全称为模型(Model)—视图(View)—视图模型(ViewModel)
Model提供数据,View负责界面,ViewModel负责逻辑的处理
MVVM的由来是MVP(Model-View-Presenter)模式与WPF结合应用时发展演变过来的一种新型框架
MVVM和MVP的对比
什么是数据绑定
将一个用户界面元素(控件)的属性,绑定到一个类型(对象)实例上的某个属性的方法。
如果开发者有一个 MainViewMode
类型的实例,那么他就可以把 MainViewMode
的 "Lev"
属性绑定到一个UI中Text的 "Text"
属性上。
“绑定”了这2个属性之后,对 Text
的 Text
属性的更改将“传播”到 MainViewMode
的 Lev
属性,
而对 MainViewMode
的 Lev
属性的更改同样 会“传播”到 Text
的 Text
属性
MVVM在Unity中水土不服
- View对象始终由我们来书写,并没有UI配置文件(如WPF中的XAML)的存在
- 硬要在Unity中实现MVVM,需要写三模块,并且还要对V和VM进行数据绑定,工作量大,好处也不够明显
Unity的第三方MVVM框架
-
Loxodon Framework
-
uMVVM
唐老狮的MVVM粗暴变式——MP
MVVM中的关键是V和VM的数据双向绑定,即改变V或者VM对方的属性,对方也会随之变化,一切对外的的处理都通过VM来处理了,
V只负责更新和显示。
那么我们尝试将他们合二为一,并且达到将界面和逻辑某种意义上的解耦即可。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 文KRIFE齐的博客!