在开发中我们也不能太依赖于某个框架,否则这个框架不更新了,导致项目后期没办法维护,比如之前 Facebook 提供的Three20框架
,在当时也是神器,但是后来不更新了,也就没什么人用了。因此我感觉学习一个框架,还是有必要了解它的编程思想
编程思想的由来:在开发中我们会遇见各种各样的需求,经常会思考如何快速的完成这些需求,这样就会慢慢形成快速完成这些需求的思想。
先简单介绍下目前涉及到的编程思想
一、面向过程:处理事情以过程为核心,一步一步的实现。
二、面向对象:万物皆对象
三、链式编程思想:是将多个操作(多行代码)通过点号(.)链接在一起成为一句代码,使代码可读性好, 比如:a(1).b(2).c(3)
链式编程特点:方法的返回值是
Block
,Block
必须有返回值(本身对象),Block
参数(需要操作的值);方法返回值必须是方法调用者代表框架:
Masonry
框架。
四、响应式编程思想:不需要考虑调用顺序,只需要知道考虑结果,类似于蝴蝶效应,产生一个事件,会影响很多东西,这些事件像流一样的传播出去,然后影响结果,借用面向对象的一句话,万物皆是流。
- 代表:
KVO
运用。
五、 函数式编程思想:是把操作尽量写成一系列嵌套的函数或者方法调用。
函数式编程本质 : 就是往方法中传入
Block
, 方法中嵌套Block
调用,把代码聚合起来管理函数式编程特点:每个方法必须有返回值(本身对象),把函数或者
Block
当做参数,Block
参数(需要操作的值)Block
返回值(操作结果)代表:
ReactiveCocoa