资料介绍
对象间交互模式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次下载
- 反激详细推导过程 39次下载
- 面向CU和PU模式选择的SCC帧间快速算法 7次下载
- 基于Logit动态的交通方式选择演化博弈模型 10次下载
- 在线学习的交互网络模型和质量评价方法 11次下载
- Logistic回归数学推导以及python实现 7次下载
- 面向过程和面向对象有什么区别
- 面向对象的程序设计总结与过程化程序设计有什么区别? 0次下载
- 基于C++11的轻量级对象间通信机制 0次下载
- SVPWM的原理及法则推导和控制算法详解 0次下载
- H.264快速帧间模式选择算法
- 基于面向对象的过程实时数据库引擎设计
- 基于AVS-M的帧间模式快速选择算法
- 过程对象模型在线闭环频域辨识
- 基于统计的SVC层间编码快速模式决策算法
- 熔纤机熔接模式如何选择 1847次阅读
- 设计模式中代理模式的使用场景 742次阅读
- C#模式匹配完全指南 389次阅读
- UVM设计模式之访问者模式 633次阅读
- Java反射技术实现对象的创建 2123次阅读
- LLC谐振变换器的公式推导 3217次阅读
- JavaScript创建对象的方式 3711次阅读
- 适配器模式和装饰模式的区别 6901次阅读
- 适配器模式和代理模式的区别 5231次阅读
- 迪士尼最新研究:虚拟对象能够自动与其周围的物理环境自主智能交互 2112次阅读
- C++:全局对象、局部对象、静态对象 3034次阅读
- 基于SRIO的FPGA间数据交互系统设计与应用 4265次阅读
- 适配器模式、装饰器模式、代理模式的区别 1.6w次阅读
- 如何选择电压测试模式 1966次阅读
- CAN协议的错帧漏检率推导及改进过程简介 4155次阅读
下载排行
本周
- 1电子电路原理第七版PDF电子教材免费下载
- 0.00 MB | 1490次下载 | 免费
- 2单片机典型实例介绍
- 18.19 MB | 92次下载 | 1 积分
- 3S7-200PLC编程实例详细资料
- 1.17 MB | 27次下载 | 1 积分
- 4笔记本电脑主板的元件识别和讲解说明
- 4.28 MB | 18次下载 | 4 积分
- 5开关电源原理及各功能电路详解
- 0.38 MB | 10次下载 | 免费
- 6基于AT89C2051/4051单片机编程器的实验
- 0.11 MB | 4次下载 | 免费
- 7蓝牙设备在嵌入式领域的广泛应用
- 0.63 MB | 3次下载 | 免费
- 89天练会电子电路识图
- 5.91 MB | 3次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 2PADS 9.0 2009最新版 -下载
- 0.00 MB | 66304次下载 | 免费
- 3protel99下载protel99软件下载(中文版)
- 0.00 MB | 51209次下载 | 免费
- 4LabView 8.0 专业版下载 (3CD完整版)
- 0.00 MB | 51043次下载 | 免费
- 5555集成电路应用800例(新编版)
- 0.00 MB | 33562次下载 | 免费
- 6接口电路图大全
- 未知 | 30320次下载 | 免费
- 7Multisim 10下载Multisim 10 中文版
- 0.00 MB | 28588次下载 | 免费
- 8开关电源设计实例指南
- 未知 | 21539次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935053次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537791次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233045次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191183次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183277次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138039次下载 | 免费
评论
查看更多