Swift 链式编程思想
一、知识小集锦
在介绍链式编程思想之前,我们先了解一下我们所知道的一些编程思想:
l面向过程:主要是以过程为中心的编程思想,逐渐一一去实现;
l面向对象:万物皆为对象,也就是一种对现实世界理解和抽象的方法,它的特种是封装、继承和多态;
l链式编程思想:是将多个操作(多行代码)通过点号(.)链接在一起成为一句代码,使代码可读性好,链式编程特点是方法的返回值是block,block必须有返回值(本身对象),block参数(需要操作的值),典型的代表有Masonry;
l响应式编程思想:不需要考虑调用顺序,只需要知道考虑结果,类似于蝴蝶效应,产生一个事件,会影响很多东西,这些事件像流一样的传播出去,然后影响结果,借用面向对象的一句话,万物皆是流。典型的代表有KVO运用,RXSwift;
l函数式编程思想:是把操作尽量写成一系列嵌套的函数或者方法调用,它的特点是每个方法必须有返回值(本身对象),把函数或者Block当做参数,block参数(需要操作的值)block返回值(操作结果),典型的代表有ReactiveCocoa。
二、链式编程思想
如何让你的代码优雅的呈现出来,体现你代码高B格和可读性特性,那么不得不去思考去使用链式编程思想即能达到你想要的效果。如果你是做iOS开发,相信你对Masonry这个自动布局库最是熟悉不过来。该库的编写用的就是链式编程思想,它极大的帮助了程序员简化自动布局的代码,通过(.)的调用方式将代码联合在一起,大大的增加了代码可读性,使他看起来更加简单而优雅。下面直接上代码,相信看完后你就知道它的厉害了,哈哈。
三、代码的实现
普通代码:(用原始代码写法实现一个计算demo。)
封装:
调用:
上述总结:上述代码太过于复杂
优化代码1:(用链式编程思想去优化上述代码。)
封装:
调用:
上述总结:上述代码还不能使用(.)号进行连接,需要继续优化
优化代码2:(用链式编程思想去优化上述代码。)
封装:
调用:
上述总结:上述代码可以使用(.)号进行连接,但是需要创建太多对象,需要继续优化
优化代码3:用链式编程思想去优化上述代码。)
封装:
调用:
上述总结:上述代码可以使用(.)号进行连接,结构化统一处理,是不是和Masonry很像。
网友评论