除了微软的文档,是否有一个很好的Microsoft Reactive (Rx)框架的介绍和教程?
另外,有什么好的例子(有代码)可以让使用传统异步编码技术难以解决的编程问题变得更容易?
除了微软的文档,是否有一个很好的Microsoft Reactive (Rx)框架的介绍和教程?
另外,有什么好的例子(有代码)可以让使用传统异步编码技术难以解决的编程问题变得更容易?
当前回答
阅读这些文章,特别是下载相关的源代码并试用一下。
第一部分-系统。响应式或。net响应式扩展(Rx) -概念和第一眼 第二部分- LINQ到事件-更多关于.NET响应式扩展(Rx) 第三部分- LINQ到事件-使用T4文本模板生成GetEventName()包装器方法
相信这会有帮助
其他回答
你可能会发现这一系列关于响应式LINQ的文章(共有四篇)很有用: 响应式编程(2)-引入响应式LINQ。
他有一个使用它编写游戏的例子,所以它应该是你所寻找的。
这里有一个wiki网站,有很多代码示例演示如何使用.NET Rx框架的不同特性:http://rxwiki.wikidot.com/101samples
我发现这是最全面的网站,也是最容易上手的一个。
使用Rx Sandbox可以非常直观地了解不同组合符的含义。这是我见过的最好的学习工具。
这里有一个用响应式编程很容易做到的例子,但是用经典事件很麻烦(如果没有挑战性的话),当鼠标按钮按下时,它会画线。它是可读的,没有显式的状态处理:
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上有几个不同的视频:
更新:下面的博客文章已经被我的在线书籍www.IntroToRx.com所取代。这是一本全面的19章书,免费提供。你可以在网上浏览,也可以在kindle上下载mobi版。你也可以直接从亚马逊上买到,只需要花很少的钱(99美分/ 77便士)。如果这本书不能满足您的需求或期望,请让我(作者)知道,我们会为v2做得更好。
感谢热/冷帖子的链接。这只是整个系列的一部分,
Rx简介 静态和扩展方法 生命周期管理——完成和取消订阅 流控制 组合多个IObservable流 调度和线程 冷热观测 测试的处方 缓冲,窗口,加入和组加入
我会继续更新这个博客,提供更多关于Rx的介绍。
对于更高级的东西,你想去Rx论坛(MSDN)。