身为一枚程序员在工作和学习过程中我们总会接触到一些开源的比较好用的框架如:Masonry、ReactiveCocoa …… 那你肯定会想为什么人家别人写开源框架这么好用,为什么要这样去设计呢?这里就引入了一个新的概念‘编程思想’。
在这里先给大家介绍几种常见的编程思想。
常见的三种编程思想:
- 链式编程
- 函数式编程
- 响应式编程
链式编程
链式编程就是将多个操作通过‘.’(点语法)链接在一起成为一句代码,提高代码的可读性。
链式编程的特点
- 编程性强
- 可读性强
- 代码简洁
- 对程序员的业务能力要求高
- 不太利于代码调试
代表
Masonry 框架
函数式编程
将操作尽可能的写成一系列嵌套的函数或者方法,函数式编程在iOS中是通过Block 实现的,通过声明一个Block,类似于定义了一个函数,再将这个函数传递给调用的方法,以此来实现对调用该方法时中间一些过程或者对结果处理的自定义。
函数式编程的特点
每个方法必须有返回值(本身对象),把函数或者Block当做参数,block参数(需要操作的值)block返回值(操作结果)
代表
ReactiveCocoa AFNetworking
响应式编程
响应式编程(RP)是一种基于异步数据流概念的编程范式。而RP的精髓也在于对数据流(Dataflow, Event)的高效处理。
响应式编程特点
不需要考虑调用顺序,只需要知道考虑结果,类似于蝴蝶效应,产生一个事件,会影响很多东西
代表
KVO
网友评论