文章目录
I 预备知识
先来了解下开发过程中常常接触的几个编程思想
1.1 面向过程
处理事情以过程为核心,一步一步的实现。
1.2 面向对象
万物皆对象
面向对象对比面向过程的优胜之处在于,名词化的概念比动词化的描述,更便于人类理解。
这也是相比函数式编程的主要优点,许多函数是难以命名的,但对象却很容易。
封装是为了更好的重用性、可扩展性,但要综合考虑性能问题,即使新增了判断也会增加性能的消耗,只是不会量级的增加。比如简单工厂和抽象工厂(反射机制)的封装,会增加性能的消耗。但把对象的管理变成了可配置化。
1.3 函数式编程
把操作尽量写成一系列嵌套的函数或者方法调用。
函数式编程特点:每个方法必须有返回值(本身对象),把函数或者Block当做参数,block参数(需要操作的值)block返回值(操作结果)
代表:ReactiveCocoa
1.4 链式编程
将多个操作(多行代码