美文网首页
快速理解 函数式编程,响应式编程,链式编程

快速理解 函数式编程,响应式编程,链式编程

作者: 画十 | 来源:发表于2018-06-21 14:50 被阅读47次

函数式编程

  • 写好的函数,专门执行特定功能.一般在Util类中出现比较多,比如:

    /**
     * 根据手机的分辨率从 dp 的单位 转成为 px(像素)
     */
    fun dip2px(context: Context, dpValue: Float): Int {
        val scale = context.resources.displayMetrics.density
        return (dpValue * scale + 0.5f).toInt()
    }
    

    函数式写死的,它只负责单一的任务,需要的时候调用它,它会根据传入参数给你返回值.

响应式编程

  • 一个比较形象的比喻就是流水线, 比如蛋筒冰淇淋的蛋筒,是怎么卷出来的?,它需要经过:
    烤制蛋筒 --> 卷边成型 --> 冷却定型 --> 套上纸壳儿 --> 出厂检测的过程
    下面大家来欣赏下:

    蛋筒流水线
    响应式编程代码示例:
    //举一个开门的步骤
    Observable.just(context)
              .map{拿出钥匙}
              .map{开门}
              .map{拔掉钥匙}
              .map{关门}
              .subscribe()
    

    响应式编程有比较鲜明的前后顺序,后面的步骤要依赖于之前的步骤.

链式编程

  • 链式编程使用的就是Builder模式,例如非常经典的Android AlertDialog的创建.

     // 用Builder模式创建Dialog
    AlertDialog.Builder builder = new AlertDialog.Builder(this)
                  .setTitle("Hello Dialog")
                  .setIcon(R.drawable.logo)
                  .setMessage("This is a Dialog")
                  .show();
    

    链式编程和响应式编程代码格式有点类似,但是链式编程一般没有严格的前后顺序关系,比如上面的setTitlesetMessage,谁前谁后无所谓.

参考:

  1. 前几天有个同学问我,“什么是响应式编程”?另,它和函数式编程有啥区别?
  2. RxJava 之 响应式编程
  3. 重新理解响应式编程
  4. 几种编程思想(链式编程、响应式编程、函数式编程)
  5. 关于RxJava的详解
  6. 结合Android浅谈Builder模式
  7. 蛋筒冰淇淋的蛋筒,是怎么卷出来的?

相关文章

  • iOS链式、函数式和响应式编程

    原文编程思想-iOS链式、函数式和响应式编程 在了解链式、函数式和响应式编程前,我们需要回顾下Block,它在下面...

  • ReactiveObjC入门

    ReactiveObjC基础用法 iOS开发三种编程方式(响应式编程、函数编程、链式编程),函数编程最常用,链式编...

  • RxSwift初探(1)

    一、前提:函数响应式编程思想 简单来说 函数响应式编程 = 函数式编程 + 响应式编程 (1)函数式 函数式编程是...

  • iOS 函数编程 & 链式编程

    函数式(链式)编程 函数式编程概念 函数式编程是种编程范式 函数式编程 Functional Programmin...

  • iOS-链式编程

    函数式编程------->链式编程 函数式编程: 调用方式 我们最终目的是将函数式编程转换为链式编程:首先将调用方...

  • 快速理解 函数式编程,响应式编程,链式编程

    函数式编程 写好的函数,专门执行特定功能.一般在Util类中出现比较多,比如:/** * 根据手机的分辨率从 dp...

  • 函数响应式编程思想 & RxSwift 核心逻辑(一)

    函数响应式编程思想 函数响应式编程思想即是将函数式编程和响应式编程相结合。 函数式编程 顾名思义,就是像函数一样的...

  • 函数式编程 响应式编程

    学习函数式编程对于我们理解Masonry && Snapkit有很大的帮助,函数式编程(链式编程)。下面文章也是参...

  • 函数响应式编程思想 & RxSwift 核心逻辑

    函数响应式编程 = 函数式编程 + 响应式编程 一、函数式 一种编程范式,如y=f(x),y=f(f(x))(高阶...

  • RxJava系列|RxJava简介(一)

    函数响应式编程 函数式编程是一种编程范式。 常见的编程范式有:命令式编程、函数式编程和逻辑式编程。 面向对象就是一...

网友评论

      本文标题:快速理解 函数式编程,响应式编程,链式编程

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