美文网首页
函数式编程、链式编程、响应式编程

函数式编程、链式编程、响应式编程

作者: 皮皮蟹pipixie | 来源:发表于2019-06-13 21:51 被阅读0次

    函数式编程

    函数应该是纯粹的,是绝对安全的,过程为: 输入 => 执行 => 结果。
    函数应满足如下条件:
    1.不能修改传递给函数的变量!
    2.不能修改全局变量!
    3.对于同样的输入参数,返回值总是相同的!

    // 如以下方法,入参不会被改变;不涉及全局变量;同样的入参,返回值一样
    func square(x: Int) -> Int {
        return x*x;
    }
    

    链式编程

    链式编程可以把对同一个实例对象同时调用N次方法。代码的可读性更好。 比较有名的第三方库:OC的Masonry、Swift的SnapKit。

        //未处理代码
        override func viewDidLoad() {
            super.viewDidLoad()
            self.method1()
            self.method2()
            self.method3()
            self.method4()
        }
        
        func method1() {
            print("method1")
        }
        
        func method2() {
            print("method2")
        }
        
        func method3() {
            print("method3")
        }
        
        func method4() {
            print("method4")
        }
    
        // 链式处理后代码
        override func viewDidLoad() {
            super.viewDidLoad()
            _ = self.method1().method2().method3().method4()
        }
        
        func method1() -> LineViewController {
            print("method1")
            return self
        }
        
        func method2() -> LineViewController {
            print("method2")
            return self
        }
        
        func method3() -> LineViewController {
            print("method3")
            return self
        }
        
        func method4() -> LineViewController {
            print("method4")
            return self
        }
    

    响应式编程

    最大的特点就是不需要考虑调用顺序,只需要知道考虑结果。先监听事件,当事件发生时,再触发相应的操作。事件可以被等待,可以触发过程,也可以触发其它事件。
    比较有名的第三方库:OC的ReactiveCocoa,Swift的RxSwift,关于这两个库的使用,以后会出相应文章,暂且不提。

    相关文章

      网友评论

          本文标题:函数式编程、链式编程、响应式编程

          本文链接:https://www.haomeiwen.com/subject/vevefctx.html