可能是重复问题:
Reactive Extensions使用的好例子
我已经开始尝试使用响应式扩展(Reactive Extension)一段时间了,但主要限于在WPF前端处理/组合用户驱动事件。
这是一种强大的新型异步编程方法,我很好奇其他人正在使用它做什么,并且您认为它能够如何改进我们当前所做的事情?
可能是重复问题:
Reactive Extensions使用的好例子
我已经开始尝试使用响应式扩展(Reactive Extension)一段时间了,但主要限于在WPF前端处理/组合用户驱动事件。
这是一种强大的新型异步编程方法,我很好奇其他人正在使用它做什么,并且您认为它能够如何改进我们当前所做的事情?
我已经为集成WPF / Silverlight和Rx编写了一个更完整的库,文档目前已经(编辑:不再)糟糕了!但是你可以在以下链接中查看:
Samuel McAravey在Channel9上发布了一段视频,描述了他使用RX构建的真实世界SilverLight应用程序。他甚至将其提供在CodePlex上。
此外,以下是一些实际用途,即使您没有异步要求,也可以应用RX:
目前我最喜欢的Rx解决方案是将其用作事件聚合器。请看这里:
http://jfromaniello.blogspot.com/2010/04/event-aggregator-with-reactive.html
我将其应用到Silverlight上,并且它非常好用。令人惊奇的是其过滤事件的能力。例如,有些事件类型只是“string”,因为没有其他信息。我创建了一个类来公开这些常量(以便不会出现神秘字符串),例如BEGIN_BUSY(调用Web服务时)和END_BUSY(完成时)等。
订阅时,你可以直接执行:
(from e in EventAggregator.Subscribe<string>() where e.Equals(BEGIN_BUSY) select true).Subscribe( evt=> { // Listening only to the BEGIN_BUSY event });
太喜欢了!