美文网首页
浅谈MVVM模式

浅谈MVVM模式

作者: 聂掌柜 | 来源:发表于2018-05-03 14:03 被阅读90次

结合最近做的一个项目重构,谈一下自己对MVVM模式的理解。
简单介绍一下项目背景,这是一个基础组件--设置组件。


设置组件效果图.png

这些item项都是后台配置的,组件启动时,先加载缓存,然后异步读取配置的资源。

这个组件原本是按照传统MVC的模式来实现。造成了viewController特别厚重,业务逻辑耦合,代码复用率低等问题。如图:这个viewController已经有1300多行了。重构前的viewController主要负责的职责有:视图初始化,数据请求、解析,item项点击的回调block,登录登出的响应等等。因为设置的item项内容很多,包括 :分页,url地址,事件名,开关事件,组件跳转等等,所以viewController显得非常混乱。


代码目录结构图.png

根据数据绑定,职责划分,接口隔离等原则,对其进行重构。主要重构思路:将item项的点击事件代理出去,将数据请求、解析剥离出来给viewmodel来做。viewController只负责视图初始化和处理通知事件。


重构类图.png viewController通过KVO方式获取数据源的更新,做出相应的视图更新。 重构后目录结构.png

重构后,viewController的代码明显减少,整个组件的代码结构更加明确,职责分离。

相关文章

网友评论

      本文标题:浅谈MVVM模式

      本文链接:https://www.haomeiwen.com/subject/nphkrftx.html