0%

iOS APP界面层的结构(MVC、MVP、MVVM)

APP的界面层的结构指的是平常所说的MVCMVVM这些。

整个APP的话,一般用的还是3层结构:界面层、服务层、数据层。

标准的MVC

MVC结构

ControllerService得到新的数据后,把数据更新给View。注意,View是完全不知道Model的。

改良的MVC

这个ViewModel是指View的数据模型,跟MVVMViewModel是不一样的。只是为了把View需要的数据结构化

改良的MVC结构

MVP

Controller持有多个Presenter,每个Presenter相当于上面的MVC改良的MVC
这样做可以防止Controller过于臃肿,也可方便界面的模块组合,以及可能的复用。

MVP结构

MVVM

强调动态绑定,以使用KVOController为例。
ViewModelview需要的数据作为属性开放出来,view利用KVOController来监听这些属性。ViewModel的这些属性修改时,view的数据跟着改变。

MVVM结构