【问题标题】:Why is a Subject in RX called a "Subject"?为什么RX中的主题称为“主题”?
【发布时间】:2013-11-16 10:20:38
【问题描述】:

谁能解释这个名字背后的原因? Observable 和 Observer 是很明显的,但是我不明白为什么叫Subject?

【问题讨论】:

    标签: system.reactive reactive-programming


    【解决方案1】:

    我怀疑 Rx 团队之所以选择该名称是因为它的目的是与 the original observer pattern 中的主题扮演相同的角色。

    虽然 Subject 实现了 IObservable<T>IObserver<T>,但它被命名为它的 Observable 特性。

    original 模式的作者选择了它作为字典定义,因为它是被观察的主题。

    【讨论】:

    【解决方案2】:

    我认为dictionary definition 指向正确的方向:“正在讨论或描述的人或事物”。

    请记住,ISubject 只是简单地定义为既可观察又可观察的接口。从这个意义上说,Subject 实例是一种对话中心,其他对象可以向其发送消息和/或从中接收消息。但 ISubject 也是泛型的,因此对话中的消息仅限于泛型类型的对象。这两种感觉都使ISubject 实例类似于“正在讨论的事物”。

    【讨论】:

      猜你喜欢
      • 2017-07-31
      • 1970-01-01
      • 2023-03-12
      • 2022-01-12
      • 2020-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多