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

另外,什么是一个很好的例子(使用代码),反应性使得使用常规异步编码技术解决的编程问题更容易?

有帮助吗?

解决方案 2

这是一个Wiki网站,其中包含许多代码示例,演示了如何使用.NET RX框架的不同功能: http://rxwiki.wikidot.com/101samples

我发现这是目前最全面的网站,也是最快开始的网站。

其他提示

更新: :下面的博客文章已被我的在线书所取代 www.introtorx.com. 。这是一本免费的19章书籍。您可以在网络上浏览它,也可以为Kindle下载MOBI版本。您还可以从亚马逊(Amazon)直接获得它的费用(〜99c / 77p)。如果这本书不满足您的需求或期望,请让我(作者)知道,我们将为V2做得更好。

感谢您链接到热/冷柱。这只是 完整系列,

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

我将继续使用更多RX介绍性的内容来更新此博客。

对于更高级的东西,您想去 RX论坛 (MSDN)。

这是反应性编程很容易做到的示例,但是经典事件的凌乱(如果不是具有挑战性),它在鼠标按钮下方时绘制线条。它是可读的,没有明确的状态处理:

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一样。

我thourough推荐另一个答案中提到的视频。实际上,在频道上有几个关于该主题的视频:

一旦您经历了一些基本内容,包括 HandsonLab确保您退房 李·坎贝尔(Lee Campbell)的冷热观测值 这使我的RX脱离了一些奥术的谜团:)

您可能会发现有关反应性linq有用的这一系列文章(有四个):反应性编程(ii。) - 引入反应性linq.

他有一个使用它编写游戏的示例,因此希望它应该是您想要的。

我也发现 引入反应框架第一部分CodeBetter.com. 。同一站点上的第一部分有续集。

我希望这能帮到您。

奇怪,反应性扩展 主页 链接到十几个视频和博客,但忘记链接到全面的官方参考文档。这真是令人遗憾,如果您知道团队,请要求他们修复他们的网站!

RX沙箱 为了对不同的组合者的含义非常直观。这是我见过的最好的学习工具。

仔细阅读这些文章,尤其是下载相关的源代码并使用它。

相信这将有所帮助

要回答第二个问题,这是一个可以从RX中受益匪浅的问题。这就是所谓的“快速致富”。

您已经开发了一个以相同名称的游戏,而且销量很好。但是它仅在您的商店可用于批发。为了使现金处理更容易,您有一条传送带,它流向您。

(请随时更改上面的故事:))

销售人员在其上放置了几块现金,没有标签,指示纸币中的账单数量和类型。您的工作是分类并计算钱。稍后,当您获得更多的钱时,您可以雇用其他人来帮助您。

在这种情况下,来源是现金(生产商)的异步来源。您的员工和供应商期望金钱,但是您必须消耗棉布,解开包装并使用您的自定义业务逻辑来重新包装以付款。

销售人员正在用自己的线程运行,因此他们不必等您来计算自己在腰带上投入的东西。如果告诉您有更多的钱可以计算,最好使用您的时间,直到那时您可以做其他工作。

您可以通过一个字节代表每个核心[]。

这是一个相当普遍的现实情况;当您检索网络上的任何资源(例如,用于搜索引擎,图像或视频的网页)或来自外围设备的数据时,您会在字节(可能带有标题)的块中获取它们。在单个线程或太难使用的多线程环境中,您倾向于汇总和处理它们。不再!!

杰西·自由(Jesse Liberty)出版了一本书,于2011年10月出版:

Amazon.com:编程反应性扩展和LINQ

频道上有RXWorkshop视频:

Channel9:RXWorkshop

您的“排除Microsoft文档”子句是否扩展到频道9上的视频?

来自反应性框架Erik Meijer的创建者: - 专家到专家:Brian Beckman和Erik Meijer- .NET反应性框架(RX)

全新的: 开始使用.NET的RX扩展名

除了安德烈亚斯·霍夫曼(Andreas Hoffmann)的链接(在我学习RX时发现它们非常有帮助)

这是一些Bart de Smet(一个非常聪明的人,他都很好地解释了事情):

Kinda贯穿RX:
RX-固化异步编程布鲁斯

一些血腥的内部 +一些理念,这些视频确实令人启发:
Min Linq- Linq的本质
(上面的视频涉及Linq Kinda与其他事物的关系,例如RX)

关于iqbservable的观察 - iQueryable的双重

Devhol202 - 用.net的反应性扩展固化异步蓝色 (PDF,2 MB)是我到目前为止见过的最好的实验室/教程。它可以指导您浏览库的基础知识,以便您可以根据自己学到的知识来构建和设计。

还有一个JavaScript版本。在Google上搜索“反应性扩展手上的实验室”。

我喜欢 RX简介第1部分 - 关键类型, ,它显示了关键功能。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top