V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
maxxfire
V2EX  ›  程序员

响应式编程,与面向对象编程有何联系,是否是一个更好的编程思想?

  •  
  •   maxxfire · 2019-07-16 15:49:56 +08:00 · 2273 次点击
    这是一个创建于 1976 天前的主题,其中的信息可能已经有所发展或是发生改变。
    面向对象 OOP 编程有很多优势,它是对现实世界的建模抽象,它有利于人类思维,有利于扩展和维护。

    然而最近在看一些 rx 的响应式编程框架,它除了最核心的 rx 框架外,基本上把数据库 /网络请求 /UI 组件统统都进行了 rx 化的重构,企图建立一个完整的 rx 生态。完全有一种要颠覆 OOP 的趋势。

    在实际的编码实践中,各位是如何应用 响应式编程呢,是完全替换掉 OOP,还是在 OOP 框架的基础上再加上响应式编程呢?
    9 条回复    2019-07-17 11:35:10 +08:00
    chendy
        1
    chendy  
       2019-07-16 16:07:38 +08:00
    这俩是独立的,不冲突
    maxxfire
        2
    maxxfire  
    OP
       2019-07-16 16:16:40 +08:00
    @chendy 我觉得是从属关系,框架整体还是得用 OOP 来写,里面某些子模块可以用 rx 来写。
    scalaer
        3
    scalaer  
       2019-07-16 16:17:16 +08:00
    响应式编程的的处理单元称为 actor, 一个 actor 就是一个对象, 这个对象由数据 + 行为 + 消息构成, 内部的状态由自己的行为维护
    frandy
        4
    frandy  
       2019-07-16 18:26:52 +08:00
    可以关注下这个 up 主: https://space.bilibili.com/2494318/dynamic
    我认为是在 OOP 框架的基础上再加上响应式编程,具体可以了解下 spring5 的响应式相关
    还有就是 Reactive 国内有的翻译成响应式,有的翻译成反应式,但不影响。
    frandy
        5
    frandy  
       2019-07-16 18:28:11 +08:00
    rx 系列是一个实现,其他还有 akka,vert.x。
    crysislinux
        6
    crysislinux  
       2019-07-16 18:31:17 +08:00 via Android
    这东西用起来感觉性能太不好预估了。要是跟 angular 这种一起用,很容易爆炸。。
    troywinter
        7
    troywinter  
       2019-07-16 22:10:13 +08:00
    我觉得你的方向不对,没搞清楚 rx 的来龙去脉,可以看看 Erik Meijer 的一些演讲,rx 和 oo 还有 functional 不是对立的,他们不属于同一个方向的问题,没有可比性,如果不清楚它解决了什么问题就用,我觉得没有意义。
    lhx2008
        8
    lhx2008  
       2019-07-16 22:56:10 +08:00 via Android
    和 oop 并无关系,只是把代码编写的形式改变了,要说的话他应该是和异步,协程,多线程并列
    reus
        9
    reus  
       2019-07-17 11:35:10 +08:00
    没有任何关系
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1245 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 23:54 · PVG 07:54 · LAX 15:54 · JFK 18:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.