为了熟悉RX,我正在寻找RX用于“真实世界”项目的例子。
我对.NET版本或JavaScript版本感兴趣。 对封闭源项目的引用会很有趣。开源项目会更有趣。
为什么RX是这些项目的不错选择也很有趣。
我不是在寻找教程或介绍。
答案 0 :(得分:12)
在不到一个小时的时间里,我就可以向开源ESB MassTransit添加Rx支持:
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以获取针对XAML(WPF,Silverlight,WP),iOS和Android的基于Rx的MVVM框架。非常非常酷的东西。
答案 1 :(得分:1)
以下是两个封闭的来源/商业示例:
银行正在其消息总线基础架构上使用Rx适配器。
网络流产品Nirvana的制造商将在其next release产品中提供基于API的产品。