【发布时间】:2013-11-16 10:20:38
【问题描述】:
谁能解释这个名字背后的原因? Observable 和 Observer 是很明显的,但是我不明白为什么叫Subject?
【问题讨论】:
标签: system.reactive reactive-programming
谁能解释这个名字背后的原因? Observable 和 Observer 是很明显的,但是我不明白为什么叫Subject?
【问题讨论】:
标签: system.reactive reactive-programming
我怀疑 Rx 团队之所以选择该名称是因为它的目的是与 the original observer pattern 中的主题扮演相同的角色。
虽然 Subject 实现了 IObservable<T> 和 IObserver<T>,但它被命名为它的 Observable 特性。
original 模式的作者选择了它作为字典定义,因为它是被观察的主题。
【讨论】:
我认为dictionary definition 指向正确的方向:“正在讨论或描述的人或事物”。
请记住,ISubject 只是简单地定义为既可观察又可观察的接口。从这个意义上说,Subject 实例是一种对话中心,其他对象可以向其发送消息和/或从中接收消息。但 ISubject 也是泛型的,因此对话中的消息仅限于泛型类型的对象。这两种感觉都使ISubject 实例类似于“正在讨论的事物”。
【讨论】: