几种编程思想(链式编程、响应式编程、函数式编程)
来源:互联网 发布:mac os x 10.6.3升级 编辑:程序博客网 时间:2024/05/21 07:02
1、链式编程,主要通过点‘.’来连接不同的函数调用
iOS上实现链式编程比较好的框架就是Masonry,通过查看Masonry源码,我们发现,每一个函数返回类型都是一个Block变量,然后Block变量中返回的内容就是当前对象本身。这样来实现通过点调用,直接上实例,实现一个简单的计算器
/** 加法 */- (Calculator * (^)(CGFloat num))add { return ^id(CGFloat num) { result += num; return self; };}/** 减法 */- (Calculator * (^)(CGFloat num))sub { return ^id(CGFloat num) { result -= num; return self; };}
demo:
Calculator *cal = [[Calculator alloc] init]; cal.result = 0.0; cal.add(5).add(3); NSLog(@"%f", cal.result);
运算结果
2017-09-11 16:08:16.099 iOSCal[58230:1582453] 8.000000
通过上面的调用方式,不难发现,链式编程可以把对同一个实例对象同时调用N次方法。代码的可读性更好。
2、响应式编程
业内经典的实例就是ReactiveCocoa,它都敢叫Cocoa,足以说明它的强大之处,事实上,它就是KVO的一个灵活展示。不需要考虑调用顺序,只需要知道考虑结果,类似于蝴蝶效应,产生一个事件,会影响很多东西,这些事件像流一样的传播出去,然后影响结果,借用面向对象的一句话,万物皆是流。是把操作尽量写成一系列嵌套的函数或者方法调用。
3、函数式编程
这个也是iOS最常用的,类似于AF的网络回调,这里就不细究了。
阅读全文
0 0
- 几种编程思想(链式编程、响应式编程、函数式编程)
- 函数响应式编程(FRP)思想
- ReactiveCocoa 函数响应式编程简介 链式编程 函数式编程 响应式编程
- 响应式编程、函数式编程、链式调用
- Masonry链式编程思想的基本思路以及KVO底层的响应式编程
- 【Scala】响应式编程思想
- 响应式编程思想(一)
- 链式编程与函数式编程
- iOS 链式编程/函数式编程写法
- iOS 链式编程与函数式编程
- 函数式编程思想
- 函数式编程思想
- 函数响应式编程
- 响应式函数编程
- iOS 链式编程思想
- 链式编程思想
- 探究链式编程思想
- 链式编程思想
- 华为 字符串反转
- linux(3)——时间
- 机房 C# 接口修饰符“public”对该项无效
- 解决百度富文本编辑器无法上传视频的问题
- 集训考试1
- 几种编程思想(链式编程、响应式编程、函数式编程)
- 连接Linux服务器操作Oracle数据库
- 链表
- 浏览器内核控制标签meta说明
- linux(4)——9个常用时间相关的系统调用
- MySQL的基本操作(增删查改)
- MySQL下高可用故障转移方案MHA的超级部署教程
- 群赛8总结----2017.9.11
- Oracle数据库DataGuard配置