首页 / IOS / iOS项目架构 小谈
iOS项目架构 小谈
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了iOS项目架构 小谈,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1001字,纯文字阅读大概需要2分钟。
内容图文
层级结构,自底向上
持久层(File,Realm,SQLite)<==>网络层(相信每个公司都有自己的网络层吧)==>业务层(ViewModel)==>展示层(View,VC)
持久层
耦合到网络层
设计要点
持久模型的选择,我这里选择了文件,直接缓存了JSON.txt。并且维护一张表映射到文件,实现快速获取,文件超时删除等操作。
持久层的timeout设置,网络层访问到这里的时候,如果超时立即抛弃缓存
网络层
耦合到持久层
设计要点
网络层的设计是基于离散式的,即一个API接口对于一个Class。实现接口复用,有了为同一个公司的多个APP提供APIKit的可能。
网络层的设计是基于数据流的。也就是说,你订阅了这个接口,以后这个接口出现刷新,加载数据等,所有的返回及时发送给所有订阅者。
一份请求数据,可以多处订阅。例如在首页加载了N个接口,在详情页获取其中某个接口的返回数据,这里你不需要知道那个接口是否加载完成,直接订阅即可。
接口实例是可reload,可refresh,可nexPage得,具体基于业务实现
是有缓存开关的
是可adaptation的。这里可要求过来接收数据的类型实现JSONConvertable协议
是可以统一catch一些errors的。
业务层
业务层耦合网络层
设计要点
这里的业务层就抽象成一个若干个ViewModel
ViewModel维护各种数据流,状态。部分数据是要提供给展示层的
展示层和业务层相互订阅。
展示层
展示层和业务层耦合
设计要点
View单纯的包含View。哈哈这里递归了。View也提供事件流,以供和业务层进行绑定。例如这里的view里有一个button,点击button提交数据。这个数据肯定在ViewModel里了。所有,view提供一个buttonClick的信号,ViewModel提供的UploadData的操作。两者绑定即可。 ViewController,主要在这里进行业务层ViewModel和视图View的绑定,解绑。
转载自: http://fengdeng.github.io/blog/2016/05/24/xiang-mu-jia-gou-xiao-jie-ios/
原文:http://www.cnblogs.com/Jenaral/p/5616145.html
内容总结
以上是互联网集市为您收集整理的iOS项目架构 小谈全部内容,希望文章能够帮你解决iOS项目架构 小谈所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】