爲了熟悉RX,我正在尋找RX在「真實世界」項目中使用的示例。在「真實世界」中使用反應式擴展
我對.NET版本或JavaScript版本都感興趣。 對閉源項目的引用會很有趣。開源項目會更有趣。
爲什麼RX對這些項目來說是個不錯的選擇,這也很有趣。
我不是在尋找教程或介紹。
爲了熟悉RX,我正在尋找RX在「真實世界」項目中使用的示例。在「真實世界」中使用反應式擴展
我對.NET版本或JavaScript版本都感興趣。 對閉源項目的引用會很有趣。開源項目會更有趣。
爲什麼RX對這些項目來說是個不錯的選擇,這也很有趣。
我不是在尋找教程或介紹。
在不到一個小時,我能夠的Rx支持添加到MassTransit,一個開源ESB:
https://github.com/MassTransit/MassTransit/tree/master/src/MassTransit.Reactive
更新:至於爲什麼它是一個不錯的選擇,他們已經有一個訂閱/取消訂閱機制。添加Rx支持意味着現在可以輕鬆地將這些訂閱組合在一起。例如,您可能有兩種消息共享一些CorrelationId
。其中Rx你可以平凡Join()
發佈的消息通過該標識符:
var someMessages = bus.AsObservable<SomeMessage>();
var otherMessages = bus.AsObservable<AnotherMessage>();
var joined = from s in someMessages
join o in otherMessages
on s.CorrelationId equals o.CorrelationId
select new { s.Something, o.OtherThing };
joined.Subscribe(x => Console.WriteLine(x));
另外:退房https://github.com/reactiveui/ReactiveUI爲RX-供電MVVM框架目標XAML(WPF,Silverlight中,WP),iOS和Android。非常非常酷的東西。
對不起復活了一個老問題,但我一直最近正在使用你的Reactive擴展到MT--對於如何使用單元測試調度程序「玩得很好」的想法,比如HistoricalScheduler? (非常乾淨的實現,順便說一句!) – JerKimball 2013-11-19 23:45:39
我不能把目前的狀態大部分功勞。 :)我建議在MassTransit上打開一個問題來詢問這件事(請標記@dahlbyk)。 – dahlbyk 2013-11-22 14:57:25
這裏有兩個閉源/商業實例:
銀行使用的Rx適配器在其消息總線的基礎設施。
網絡流媒體產品Nirvana的製造商將在其產品的next release中提供基於API的API。
我在我的博客系列文章中回答了這個問題:http://rehansaeed.co.uk/reactive-extensions-part1-replacing-events/ – 2014-09-24 12:52:57