.NET Reactive Framework的良好介绍

LBu*_*kin 217 .net c# asynchronous system.reactive

除了Microsoft文档之外,Microsoft Reactive(Rx)框架是否有一个很好的介绍和教程?

此外,Reactive使用常规异步编码技术解决难以解决的编程问题更容易成为一个很好的例子(使用代码)?

Lee*_*ell 97

更新:以下博客文章已被我的在线图书www.IntroToRx.com取代.这是一本全面的19章书籍,免费提供.您可以在网上浏览它,或者为您的kindle下载mobi版本.您也可以直接从亚马逊购买,收取少量费用(~99c/77p).如果这本书不符合您的需求或期望,请让我(作者)知道,我们会为v2做得更好.

感谢Hot/Cold帖子的链接.这只是整个系列的一部分,

  1. Rx简介
  2. 静态和扩展方法
  3. 终身管理 - 完成和取消订阅
  4. 流量控制
  5. 组合多个IObservable流
  6. 调度和线程
  7. 冷热观察
  8. 测试Rx
  9. 缓冲区,窗口,加入和组加入

我将继续使用更多Rx介绍性内容更新此博客.

对于更高级的东西,你想去Rx论坛(MSDN).

  • 我一直拖着脚学习Rx,因为所有的学习材料都是以视频的形式出现的.+1用于提供此基于文本的资源. (7认同)
  • 万岁枚举此链接 (2认同)

LBu*_*kin 84

这是一个wiki站点,其中包含大量代码示例,演示如何使用.NET Rx框架的不同功能:http://rxwiki.wikidot.com/101samples

我发现这是最全面的网站,也是最快开始使用的网站.

  • 据我所知,这个wiki并没有告诉你哪个引用包括在内.这更令人沮丧. (12认同)

Sum*_*ime 61

Rx-Framework的 MSDN站点

对于更深入的开发人员,源代码

酷奥地利关于Rx的主题演讲

这是我见过的最好的:DevCamp 2010 Keynote - Rx:治愈你的异步编程蓝调

第9频道的一些有趣的视频

Kim Hamilton和Wes Dyer:BCL内部的.NET Rx和IObservable/IObserver(VS 2010)

采访Rx的创建者:专家到专家:Brian Beckman和Erik Meijer - 在.NET Reactive Framework(Rx)中

来自Rx的创建者的介绍

Codeproject 文章

另一个课程第一篇博客链接 (新)

  • +1强烈推荐这些视频,我学到了很多,还看了一些关于IQueryable和IQbservable的Bart De Smet的视频,你可以更好地理解Rx的内部. (5认同)

Ben*_*jol 16

这是一个使用反应式编程很容易做的事情的例子,但是对于经典事件来说很麻烦(如果没有挑战),它会在鼠标按钮关闭时绘制线条.它是可读的,没有明确的状态处理:

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)); 
Run Code Online (Sandbox Code Playgroud)

(我必须承认,在那个例子中,Pairwise()是本土的......)

关于IObservable最重要的是它是'可组合的',就像IEnumerable一样.

我非常推荐另一个答案中提到的视频.事实上,Channel9上的主题有几个不同的视频:


swe*_*mre 12

一旦你完成了一些基本的东西,包括HandsOnLab,请 务必查看Lee Campbell的Hot and Cold Observables,它为我带来了Rx的一些神秘之谜:)


Col*_*nic 5

奇怪的是,Reactive Extensions主页链接到十几个视频和博客,但忘记链接到全面的官方参考文档。这真是太遗憾了,如果你认识这个团队,请要求他们修复他们的网站!