从网络层设计方案学到的东西


阅读笔记
原文链接

网络设计方案需要考虑的问题主要有两个

  1. 以什么样的方式将数据交付给业务层
  2. 交付什么样的数据给业务层

交付方式选择

大多数App在网络层所采用的方案主要集中于这三种:Delegate,Notification,Block。
KVO和Target-Action目前还很少使用。

建议以Delegate为主,Notification为辅的原因有

  • 尽可能减少跨层数据交流的可能,限制耦合
  • 统一回调方法,便于调试和维护
  • 在跟业务层对接的部分只采用一种对接手段(在我这儿就是只采用delegate这一个手段)限制灵活性,以此来交换应用的可维护性

不建议用Block的原因是

  • block很难追踪,难以维护
  • block会延长相关对象的生命周期
  • block在离散型场景下不符合使用的规范

交付什么样的数据

可以用协议model实现多样化(我觉得还是直接使用字典吧)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容