• 景天儿
    2019-06-04
    1 普通的函数式编程,就是函数可以作为参数、返回值。这使得:
    1.1 链式编程成为可能,Masonry就是一个特别好的例子。
    1.2 异步调用,函数式编程的结果很像观察者模式。
    1.3 同步调用,函数式编程的结果有点像模板模式。

    2. 稍纯一些的函数式编程,则强调只用常量,不用变量,也就是可以赋值,不能修改删除,机器学习里面基本都是这么搞。强调输入一样时,输出也一样。

    3. monad,以及连赋值都不允许的函数式,之前只听过,没有研究。看了这篇文章中推荐的王垠的博文,感觉理解加深了不少,尤其是参数、局部变量、全局变量与“状态”、数据传输关系的理解上。真的是坑…

    4. swift里面支持的高阶函数,有点儿像上面第二种函数式编程。

    5. 我理解的响应式编程,就是分离事件的发起者和接受者。其实target-action,block,delegate,kvo,通知,都是可以看作响应式编程。

    6. 从设计模式的角度来说,响应式编程与观察者模式、状态模式的思想最接近。
    展开
     1
     7
  • Geek_45fc02
    2019-05-21
    引入后RAC调试实在是太痛苦了,线程栈里嵌套了太多RAC内部的调用,很难追溯到用户真正使用的代码。
    
     5
  • bo
    2019-04-30
    RAC宏确实牛逼。看了源码学到了很多东西。现在公司项目中虽然没有引入 rac。但是把 rac 的宏提取出来用。自定义参数个数并依次处理,非常的方便。
    
     3
  • 大土豆
    2019-04-30
    在Android开发界,RxJava是病毒一样的流行,不懂RxJava,就不要找工作了,以致于所有的东西都被RxJava化,而iOS开发界,则是天差地别
    
     3
  • xilie
    2019-05-29
    我觉得函数响应式编程其实是简化了程序的逻辑并解耦,就拿传值来说,对象 A 将属性 a 传给对象 B,B再传给 C, C 修改 a,A 再针对 a 的修改做响应,传统的赋值,整个数据和逻辑会随着传递越多越复杂,而响应式,则很简单啊,说不清楚,反正实际开发中,确实简单了很多
    
     1
  • 哈
    2019-04-30
    在我的理解中,Masonry也属于响应式编程,框架的作者最初貌似是写JAVA的,Masonry的响应式貌似比RAC的要轻量级…RAC用到了很多运行时方法替换,调试起来比较麻烦

    作者回复: 两者使用场景不同,可比性不大

    
     1
  • 贰叁
    2019-04-30
    我的理解,观察者是实现响应式的关键,monad是实现函数式的关键。

    函数式提供了 X –> [X] , –> 的直观操作
    
     1
  • Sun0010
    2020-01-06
    我总感觉 响应式 其实是 数据改变能够马上响应到页面; 前端的Vue 就是通过get、set方法来知道数据的改变,然后去响应页面
    
    
  • 微笑美男😄
    2019-09-26
    那篇宏的 没有看懂。有点难理解
    
    
  • 烘哄轰、
    2019-05-22
    React.js的Virtual DOM其实类似于JavaScript和Dom之间的一个缓存。JavaScript每次都是操作这个缓存,之后进行Diff计算和变更,最后才将整体变化对应到DOM进行最后的渲染。
    
    
  • 何乐乐
    2019-05-11
    我觉得React还有一个很重要的点是:React框架帮我们处理 UI 和状态同步,我们不需要用命令式的方式去操作 UI,我们只需要关注状态层数据的正确性。DOM diff 只是为了性能更好的更新 UI,最小化操作 DOM。
    而 iOS 和 Android 原生都缺少比较好的声明式 UI 布局方式,当UI 视图改变时,没有太好的方式避免视图的重复创建和渲染。我们操作 UI 大部分时候还是使用命令式的方式。
     1
    
  • 张元鹏
    2019-05-07
    KVO采用了isa swizzle,所以KVO过的class不能再次使用isa swizzle,这点会有限制,而且只能在objc runtime下使用,所以KVO的使用也越来越少了。
    
    
  • 家有萌柴fries
    2019-05-02
    ComponentKit老师有了解么?想问问看ComponentKit里面是怎么做到对state变化的监听呢?
    
    
  • 木木彡
    2019-04-30
    使用RAC挺多的吧
    
    
  • springxiao
    2019-04-30
    1、RN指的是React Native,而不是ReactiveCocoa,两个不同的框架
    2、RN前两年火了一阵,貌似现在大厂用的也很少
    
    
  • change
    2019-04-30
    大厂采用RN的理由是热跟新吗
    
    
  • 姜浩远
    2019-04-30
    既然看上去存在的好处不多,但为什么一些大厂还在使用 ReactiveCocoa 呢?
     1
    
  • 彭序猿
    2019-04-30
    有朋友能解释下:命令式、响应式、函数式、链式这几个的区别联系吗?
     1
    
  • ssala
    2019-04-30
    我的理解是,逻辑复杂以后,程序的内在复杂度提升,无论采用何种编程范式,无论是面向对象还是函数式编程,都不会降低程序本身的复杂度。而至于可读性,决定因素在编写代码的人,和使用的框架,语言关系不大。
    
    
我们在线,来聊聊吧