1、作为iOS项目中最大的文件,ViewControllers中的代码复用率几乎是最低的
2、重量级的View COntroller加大了测试的复杂度。
所以关注ViewController的瘦身,把业务逻辑、网络请求、Views的代码移到合适的地方,进而提高代码可读性、降低耦合、提高复用、降低测试难度极为重要
一、把DataSource和其他Protocols分离出来
比如uiTableView中的DataSource大多都是对数组做的一些操作,可以把数组操作相关的代码移到单独的类中。可以使用block或者delegate来设置一个cell。
二、把业务逻辑、网络请求逻辑移动到Model中
业务逻辑类的代码要放到Model对象中。但是对于不能轻易移动到Model对象中,但是和Model代码相关的,我们可以创建一个Store类
Store被称为服务层或者仓库,主要关心的是数据加载、缓存和设计数据栈
网络请求逻辑也要移动到Model层中,不要在ViewController中做网络请求的逻辑。你应该把网络请求封装到一个类中。这样你的ViewController就可以在之后通过回调函数来请求网络了。

最新文章

  1. Mono-D在MacOS上的设置
  2. Centos7下配置Redis开机自启动
  3. Form的enctype="multipart/form-data"作用
  4. 【云计算】docker build如何支持参数化构建?
  5. Android高效加载大图,多图解决方案,有效避免程序OOM异常
  6. apache开源项目--kylin
  7. ubuntu12.10中没有/etc/inittab文件探究
  8. WebLogic 安装
  9. JAVA基础——编程练习(一)
  10. ClearCase config_spec
  11. SpringBoot从零到上线
  12. Burp Suite设置代理
  13. AppUtil
  14. VS 开发必用插件
  15. 还原MongoDB dump备份出来的Bson数据
  16. python爬虫之解析库正则表达式
  17. UVA-10801 Lift Hopping (最短路)
  18. 关于setConnectTimeout和setReadTimeout的问题
  19. 全局CSS的配置
  20. OC中自定义init方法

热门文章

  1. js 科学计数法
  2. resin启动不成功
  3. [BZOJ1587]叶子合并leaves
  4. Shiro缓存使用Redis、Ehcache、自带的MpCache实现的三种方式实例
  5. Android -- 读写文件到内部ROM,SD卡,SharedPreferences,文件读写权限
  6. Json -- 语法和示例,javascript 解析Json
  7. ZC_操作_not敲代码
  8. 带你彻底明白 Android Studio 打包混淆
  9. Mac系统下安装ipython分别支持python2和python3
  10. SpringBoot下的Dubbo和Zookeeper整合