美文网首页
swift--函数响应式编程思想

swift--函数响应式编程思想

作者: 何龙HL | 来源:发表于2019-07-23 22:42 被阅读0次

    接下来一段时间项目要完全转型swift,在真正做项目之前先了解了一些swift基本语法,也做了一些小demo,整体感受很不错。本篇会简单介绍下函数响应式编程思想

    首先介绍下我们开发中常用的一些编程思想

    1.面向过程编程&面向对象编程

    在实际的编程中有两种应用比较广泛的思想,面向过程和面向对象。
    区别:
    面向过程注重的是通过代码一步步实现业务逻辑.
    面向对象更注重的是将编程过程中的属性和方法分离,使用构造函数创建相应的对象,并且添加原型方法实现相同的编程业务逻辑。

    2.链式编程思想

    通过.语法将多个操作或者多行代码链接成一句话,可读性强。
    必须两个常用的第三方库:
    OC中的masnory

    [_testView mas_makeConstraints:^(MASConstraintMaker *make) {
            make.left.right.equalTo(self.view);
            make.top.equalTo(self.view).offset(topOffset);
            make.height.mas_equalTo(0);
        }];
    

    Swift中的SnapKit

    timeLabel.snp.makeConstraints { (make) in
                make.left.equalTo(self).offset(10)
                make.bottom.equalTo(self).offset(-10)
                make.size.equalTo(CGSize(width: 100, height: 20))
            }
    

    3.函数式编程

    函数式编程是种编程方式,它将电脑运算视为函数的计算。
    和指令式编程相比,函数式编程强调函数的计算比指令的执行重要。
    和过程化编程相比,函数式编程里函数的计算可随时调用。

    操作尽量写成一系列嵌套的函数或者方法调用。

    举个简单的例子,y = f(x);然后我们再另x = f(x)
    那么我们可以通过嵌套得出 y = f(f(x));
    
    当然我们也可以在oc中通过block回调来做一些更方便的事情,使代码更加容易管理。
    

    4.响应式编程

    响应式编程的关键在于:将异步可观察序列对象模型化。
    不需要考虑调用顺序,只需要知道考虑结果,类似于蝴蝶效应,产生一个事件,会影响很多东西,这些事件像流一样的传播出去,然后影响结果,借用面向对象的一句话,万物皆是流。

    例如OC中的KVO,我们可以监听一些对象的某些属性,然后do Something.
    

    函数响应式编程

    函数响应式编程的有诸多好处。


    函数响应式编程.png

    比如我们要实现一个小案例,搜索输入框实时传出text值,我们如果用RxSwift实现,会方便很多。

    self.textFiled.rx.text.orEmpty
                .subscribe(onNext: { (text) in
                   print(text)
                })
                .disposed(by: disposeBag)
    
    

    RxSwift

    下篇将会介绍关于RxSwift基本用法
    swift-RxSwift简单使用(一)

    相关文章

      网友评论

          本文标题:swift--函数响应式编程思想

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