除了微软的文档,是否有一个很好的Microsoft Reactive (Rx)框架的介绍和教程?
另外,有什么好的例子(有代码)可以让使用传统异步编码技术难以解决的编程问题变得更容易?
除了微软的文档,是否有一个很好的Microsoft Reactive (Rx)框架的介绍和教程?
另外,有什么好的例子(有代码)可以让使用传统异步编码技术难以解决的编程问题变得更容易?
当前回答
这里有一个wiki网站,有很多代码示例演示如何使用.NET Rx框架的不同特性:http://rxwiki.wikidot.com/101samples
我发现这是最全面的网站,也是最容易上手的一个。
其他回答
我喜欢Rx介绍第1部分-键类型,它展示了关键特性。
Jesse Liberty在2011年10月出版了一本书:
Amazon.com:编程响应式扩展和LINQ
第九频道有RxWorkshop的视频:
频道9:Rx工作室
DEVHOL202 -用。net的响应式扩展(PDF, 2 MB)治愈异步的沮丧是我迄今为止看到的最好的实验/教程。它指导您了解库的基础知识,以便您可以在您所学的基础上进行构建和设计。
还有一个JavaScript版本。搜索谷歌“反应式扩展手实验室”。
这里有一个用响应式编程很容易做到的例子,但是用经典事件很麻烦(如果没有挑战性的话),当鼠标按钮按下时,它会画线。它是可读的,没有显式的状态处理:
var pen = new Pen(Color.Red, 3);
var graphics = this.CreateGraphics();
var mouseMoveWhileDown =
from md in this.GetMouseDown()
from mv in this.GetMouseMove().Until(this.GetMouseUp())
select new Point(mv.X, mv.Y);
mouseMoveWhileDown
.Pairwise()
.Subscribe(tup => graphics.DrawLine(pen, tup.Item1, tup.Item2));
(我必须承认,在这个例子中,Pairwise()是自制的…)
IObservable最重要的一点是它是“可组合的”,就像IEnumerable一样。
我彻底推荐另一个答案中提到的视频。事实上,在Channel9上有几个不同的视频:
我还在CodeBetter.com上找到了《介绍响应式框架第一部分》。在同一个网站上有第一部分的续集。
我希望这对你有所帮助。