谁能解释一下这个名字背后的原因?可观察和观察者是显而易见的,但我不明白为什么它被称为主题?
我怀疑 Rx 团队在一瞬间就选择了这个名字,因为它旨在扮演与原始观察者模式中的主体相同的角色。
虽然主体同时实现了IObservable<T>
和IObserver<T>
,但它被命名是因为它的可观察特性。
是原始模式的作者选择它作为字典定义,因为它是正在观察的主题。
我认为字典的定义指向正确的方向:"正在讨论或描述的人或事"。
请记住,根据定义,ISubject
只是既可观察又可观察的接口。 从这个意义上说,Subject
实例是一种对话中心,其他对象可以向其发送消息和/或从中接收消息。 但是 ISubject 也是泛型的,因此会话中的消息仅限于泛型类型的对象。 这两种感觉都构成了一个ISubject
的例子,比如"正在讨论的事情"。