2013-11-15 33 views

回答

6

我怀疑Rx团队选择了这个名字,因为它打算扮演与the original observer pattern中的主题相同的角色。

虽然Subject实现了IObservable<T>IObserver<T>,但是它的名字是可观察的。

它是原始模式的作者,它选择它作为词典定义,因为它是被观察的主题。

+0

由该人自己确认。 https://twitter.com/headinthebox/status/401606868499316736 –

+0

我很荣幸! :) –

+0

好的答案,并获得确认的积分!谢谢。 – citizenmatt

2

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

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