MVVM实践

最近的一两年,一直都在完成堆积的业务却忽略了架构。最近参加个新的项目,使用MVVM架构。

MVVM比MVC多了一个ViewModel,它位于View/Controller与Model 之间。Controller负责把View和ViewModel进行绑定。ViewModel其实就是做数据处理的事情。首先通过请求数据拿到model,再完成一些逻辑计算产出View要展示的内容。

这里我项重点说一下事件处理的问题。在开发当中我遇到的问题我使用了tableview,tableview和cell都会接收到一些事件,而事件可由cell或tableview直接处理或者是controller来处理。在使用MVVM后事件处理上我的代码并没有得到任何改善,所以仔细研究了一下这部分。

ViewModel的产生就是帮Controller瘦身的,所以把所有的事件处理都放在了ViewModel里面,而Controller只是做了对各个ViewModel的调遣和协调工作。代码进行了一番整理后,Controller变得很轻量,在Controller内部可以清晰到看到整个业务的调用流程。针对各个接口的数据加载和处理,对接口数据的操作事件都被封装到ViewModel里面去处理,完全业务化并且提供了未来的复用性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容