Adi*_*cov 42 events design-patterns .net-4.0 system.reactive
微软在.NET Framework 4中引入了BCL IObservable<T>接口,我想,"太好了,最后,我必须使用它!" 所以我深入挖掘并阅读帖子和文档,甚至实现了模式.
在这样做之后,我意识到基本实现实际上将所有T事件发送给所有订阅者,而不对其进行任何过滤; 即普通广播.我在某处读到了Observable模式用于普通广播.我觉得这不是真的,我错过了一些东西.
我的问题:
如果我添加一个过滤机制,使用Observable模式和只使用普通CLR事件有什么区别?
应该何时使用此模式,何时应该选择使用普通CLR事件?
Observable模式的主要优点是什么?
Ste*_*ary 28
Observable是Rx库的基石.它们提供了您需要的几乎所有实现和运算符.背后的想法IObservable<T>,并Rx不仅仅是"处理"事件,更是为了使"LINQ到事件".因此,您可以轻松编写"事件流",与常规事件处理相比,它可以为您提供更多功能.
需要注意的是样品MSDN执行的IObservable<T>是不正确 ; 已通知文档团队.