Reactive Extensions
From the Microsoft Rx web page:
The Reactive Extensions (Rx) is a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators. Using Rx, developers represent asynchronous data streams with Observables, query asynchronous data streams using LINQ operators, andparameterize the concurrency in the asynchronous data streams using Schedulers. Simply put, Rx = Observables + LINQ + Schedulers.
You may also want to check out DotNetRocks podcast 756 with Bart de Smet:
Carl and Richard talk to Bart de Smet about the beta of Reactive Extensions (Rx) Version 2. Currently in beta when the show was recorded, Rx 2.0 works with .NET 4.5, both for desktop and metro, as well as Silverlight 5 and Windows Phone 7.1. Bart talks about how Rx lets you write LINQ expressions over top of events, completely changing the way you think about responding to events. If you're tired of cluttering up your UI code with event handlers or you've got a back end process that needs to deal with millions of incoming events, you owe it to yourself to look at Rx!
Phil Haack has a blog entry about Reactive Extensions that also includes an example of ReactiveUI. Phil says:
Fortunately, now that I work at GitHub I have the pleasure to work with an Rx Guru, Paul Betts, on a project that actively uses Rx. And man, is my mind blown by Rx.
Some additional links via StackOverflow:
- http://rxwiki.wikidot.com/101samples
- DevCamp 2010 Keynote - Rx: Curing your asynchronous programming blues
- Kim Hamilton and Wes Dyer: Inside .NET Rx and IObservable/IObserver in the BCL (VS 2010)
- Expert to Expert: Brian Beckman and Erik Meijer - Inside the .NET Reactive Framework (Rx)
- E2E: Erik Meijer and Wes Dyer - Reactive Framework (Rx) Under the Hood 1 of 2
- E2E: Erik Meijer and Wes Dyer - Reactive Framework (Rx) Under the Hood 2 of 2
- Lee Campbell's Hot and Cold Observables
- Introducing the Reactive Framework Part I
- Rx Sandbox
- Reactive programming (II.) - Introducing Reactive LINQ.
- Getting Started with Rx Extensions for .NET
- System.Reactive or the .NET Reactive Extensions (Rx) – Concepts and First Look
- LINQ To Events - More on .NET Reactive Extensions (Rx)
- LINQ To Events - Generating GetEventName() Wrapper Methods using T4 Text Templates
- Amazon.com: Programming Reactive Extensions and LINQ
- Observations on IQbservable - The Dual of IQueryable
- DEVHOL202 – Curing the asynchronous blues with the Reactive Extensions for .NET
- Introduction to Rx Part 1 - Key types,
- http://msdn.microsoft.com/en-us/library/hh242985(v=vs.103).aspx
- http://msdn.microsoft.com/en-us/library/hh242986(v=vs.103).aspx
- http://msdn.microsoft.com/en-us/library/system.reactive.linq.observable(v=VS.103).aspx