APP的界面层的结构指的是平常所说的MVC
、MVVM
这些。
整个APP的话,一般用的还是3层结构:界面层、服务层、数据层。
标准的MVC
当Controller
从Service
得到新的数据后,把数据更新给View
。注意,View
是完全不知道Model
的。
改良的MVC
这个ViewModel
是指View
的数据模型,跟MVVM
的ViewModel
是不一样的。只是为了把View
需要的数据结构化。
MVP
Controller
持有多个Presenter
,每个Presenter
相当于上面的MVC
或改良的MVC
。
这样做可以防止Controller
过于臃肿,也可方便界面的模块组合,以及可能的复用。
MVVM
强调动态绑定,以使用KVOController
为例。ViewModel
把view
需要的数据作为属性开放出来,view
利用KVOController
来监听这些属性。ViewModel
的这些属性修改时,view
的数据跟着改变。