iOS MVC--MVVM

MVC (Model-View-Controller);

MVVM (Model—ViewModel-Model);

MVC:模型-视图-视图控制器(Model-View-Controller)

iOS MVC--MVVM_第1张图片

MVVM:模型-视图-视图模型(Model-View-ViewModel)

在MVC里,View是可以直接访问Model的!从而,View里会包含Model信息,不可避免的还要包括一些业务逻辑。 MVC模型关注的是Model的不变。在MVC模型里,Model不依赖于View,但是 View是依赖于Model的。不仅如此,因为有一些业务逻辑在View里实现了,导致要更改View也是比较困难的,至少那些业务逻辑是无法重用的。

MVVM在概念上是真正将页面与数据逻辑分离的模式,它把数据绑定工作放到一个ViewModel里去实现,而这个ViewModel的主要功能是完成数据的绑定,即把model绑定到UI的元素上。

有人做过测试:使用 MVVM 代替 MVC 来开发,代码可以减少一半。

此外,MVVM另一个重要特性,双向绑定。它更方便你同时维护页面上都依赖于某个字段的N个区域,而不用手动更新它们。

你可能感兴趣的:(iOS MVC--MVVM)