博客> MVVM模式浅析
MVVM模式浅析
2018-09-20 18:54 评论:0 阅读:462 阮延超
设计模式 MVVM

MVVM模式浅析

Mou icon

看看美女,放松一下眼睛,再接着敲代码吧

前言:在项目开发过程中,会遇到个别界面十分复杂,请求很多,数据交互很多,组件交互也很多,这时候Controller会非常臃肿,给其他人看起来非常难受,而MVVM设计模式就是为这样的情况提供的一种解决方案。

关于MVVM不成熟的小定义

Mou icon

  • M-V-VM 即Model View ViewModel

  • 将一个界面中的各种元素分成几个相对独立的组件,每个组件创建一个对应的ViewModel。ViewController创建并管理这些ViewModel之间的相互通讯互动

  • ViewModel管理View的刷新和用户操作事件。如果用户的响应需要其他组件进行互动,则通过delegate向上传递给ViewController。由ViewController进行ViewModel之间的通讯路由。

  • View提供一个用户刷新显示的API,内部元素的具体刷新实现外部不可见

  • 除了刷新显示,View还提供用户操作的响应,通过delegate通知ViewModel处理

  • DataModel由ViewModel管理。它具有获取View的数据、保存数据到某个数据结构的功能。一般会创建一个公共属性保存获取到的新数据。ViewModel对这个属性建立KVO监控。

  • 我们一般会使用异步方式从网络下载新数据,当新数据下载成功,经过解析后存储到公共属性里。这时,KVO方法被激活执行,ViewModel读取属性的值传递给View,让它刷新显示。

  • DataModel提供一个类似reloadData的更新数据方法,由ViewModel调用。ViewModel只要调用了这个方法,一切就开始自动运行

  • DataModel仅对ViewModel可见。这样,这三者形成了一个相对独立的生态圈,外部仅能看见ViewModel。由ViewModel提供对外的API,比如刷新数据,提交跨ViewModel通讯申请等

Demo项目在这里下载地址

收藏
0
sina weixin mail 回到顶部