资料介绍
对象间交互模式2017-06-22 11:32程序设计/设计推荐人:feizhu422
前言
直白的对象间交互
轻度抽象的对象间交互
响应式的对象间交互
基于闭包的对象间交互
推导过程
总结
前言
闭包在什么场景下才是最优选择?理由?补充说明一下:很多场景都适用闭包,但不是所有场景下闭包都是最优选择。
这篇文章主要就是回答这个问题的。
但是在直接切入闭包之前,我们需要有一个推导的过程,在推导过程之前,我们还需要梳理一下现有的交互模式。所以,关于这篇文章的内容,更确切地说应该是讨论了对象间各种交互方式。
这个主题其实很早之前业界也讨论过,objc.io很早就有《Communication Patterns》这篇文章详细讲过这个问题。这篇文章在很多地方说得都是对的,但这篇文章在block的讨论上不够全面。国内也有很多人关于对象间交互的问题写过文章,但这些文章相比《Communication Patterns》来说,就已经错得十分离谱了。
本文是从另一个角度讨论了同样的问题,文末给的决策图可以作为《Communication Patterns》的补充去做参考。
直白的对象间交互
解决对象间交互问题的最直白朴素的做法就是直接传值,直接调用。
适用这种做法的前提是你非常确认A对象的信息来源只可能是B对象,而且在未来这个前提也是不会产生任何改变。这个前提在某些场景下是成立的,例如你要取timestamp,那么只可能从NSDate中取。你要操作字符串,也只可能使用NSString。我这里说的是通常的环境,当然,针对NSDate或NSString这类对象做二次封装导致不直接依赖NSDate或NSString的场景也是有的,其本质依旧不变。
这种做法的好处在于可以限制实现手段的多样性,在维护代码的时候工程师能够更加容易地去聚焦问题所在。
存在限制不一定是坏的,灵活度高也不一定是好的。当一个工程中为了解决同一个问题而存在多种方案的
扫码添加小助手
加入工程师交流群
- 设计模式_可复用面向对象软件的基础.pdf 0次下载
- 扫描模式下 ADC 发生通道间串扰
- 反激详细推导过程 41次下载
- 面向CU和PU模式选择的SCC帧间快速算法 7次下载
- 基于Logit动态的交通方式选择演化博弈模型 10次下载
- 在线学习的交互网络模型和质量评价方法 11次下载
- Logistic回归数学推导以及python实现 7次下载
- 面向过程和面向对象有什么区别
- 面向对象的程序设计总结与过程化程序设计有什么区别? 0次下载
- 基于C++11的轻量级对象间通信机制 0次下载
- H.264快速帧间模式选择算法
- 基于面向对象的过程实时数据库引擎设计
- 基于AVS-M的帧间模式快速选择算法
- 过程对象模型在线闭环频域辨识
- 基于统计的SVC层间编码快速模式决策算法
- 熔纤机熔接模式如何选择 5.6k次阅读
- 设计模式中代理模式的使用场景 1.9k次阅读
- C#模式匹配完全指南 992次阅读
- UVM设计模式之访问者模式 1.4k次阅读
- Java反射技术实现对象的创建 2.8k次阅读
- LLC谐振变换器的公式推导 5.8k次阅读
- JavaScript创建对象的方式 4.2k次阅读
- 适配器模式和装饰模式的区别 7.4k次阅读
- 适配器模式和代理模式的区别 5.6k次阅读
- 迪士尼最新研究:虚拟对象能够自动与其周围的物理环境自主智能交互 2.5k次阅读
- C++:全局对象、局部对象、静态对象 3.3k次阅读
- 基于SRIO的FPGA间数据交互系统设计与应用 5.1k次阅读
- 适配器模式、装饰器模式、代理模式的区别 1.8w次阅读
- 如何选择电压测试模式 2.6k次阅读
- CAN协议的错帧漏检率推导及改进过程简介 4.8k次阅读
下载排行
本周
- 1MDD品牌三极管BC807数据手册
- 3.00 MB | 次下载 | 免费
- 2MDD品牌三极管BC817数据手册
- 2.51 MB | 次下载 | 免费
- 3MDD品牌三极管D882数据手册
- 3.49 MB | 次下载 | 免费
- 4MDD品牌三极管MMBT2222A数据手册
- 3.26 MB | 次下载 | 免费
- 5MDD品牌三极管MMBTA56数据手册
- 3.09 MB | 次下载 | 免费
- 6MDD品牌三极管MMBTA92数据手册
- 2.32 MB | 次下载 | 免费
- 7STM32G474 HRTIME PWM 丢波问题分析与解决
- 1.00 MB | 次下载 | 3 积分
- 8新能源电动汽车高压线束的铜铝连接解决方案
- 2.71 MB | 次下载 | 2 积分
本月
- 1爱华AIWA HS-J202维修手册
- 3.34 MB | 37次下载 | 免费
- 2PC5502负载均流控制电路数据手册
- 1.63 MB | 23次下载 | 免费
- 3NB-IoT芯片厂商的资料说明
- 0.31 MB | 22次下载 | 1 积分
- 4H110主板CPU PWM芯片ISL95858HRZ-T核心供电电路图资料
- 0.63 MB | 6次下载 | 1 积分
- 5UWB653Pro USB口测距通信定位模块规格书
- 838.47 KB | 5次下载 | 免费
- 6技嘉H110主板IT8628E_BX IO电路图资料
- 2.61 MB | 4次下载 | 1 积分
- 7苏泊尔DCL6907(即CHK-S007)单芯片电磁炉原理图资料
- 0.04 MB | 4次下载 | 1 积分
- 8苏泊尔DCL6909(即CHK-S009)单芯片电磁炉原理图资料
- 0.08 MB | 2次下载 | 1 积分
总榜
- 1matlab软件下载入口
- 未知 | 935137次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420064次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233089次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191439次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183353次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81602次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73822次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65991次下载 | 10 积分
电子发烧友App





创作
发文章
发帖
提问
发资料
发视频
上传资料赚积分
评论