A brief guide to extensions, namespaces and assemblies in V1 of Reactive Extensions (Rx)
Exploring the latest release of Reactive Extensions, I discover that the different types and extension methods have been split across namespaces and assemblies.
I know that I can go looking one by one on MSDN, but what I'd like is a brief overview of the logic of this segregation (I don't mean a justification, but if you're looking for this开发者_开发知识库, try here first).
Assemblies
System.Reactive.dll
- The core APIsSystem.Reactive.Providers.dll
- IQbservable interfaces and implementation over objectsSystem.Reactive.Windows.Forms.dll
- Schedulers and integration for WinFormsSystem.Reactive.Windows.Threading.dll
- Schedulers and integration for WPF/SilverlightMicrosoft.Reactive.Testing.dll
- Classes for testing Rx- Mocks, Recorders, Virtual schedulers, etc
Namespaces
System.Reactive.Concurrency
- SchedulersSystem.Reactive.Disposables
- Classes for creating and using disposables. (I was sad to see these classes moved into the Rx specific namespace, as they are generally useful)System.Reactive.Joins
- Join matching patternsSystem.Reactive.Linq
- Combinators and extension methods on IObservable and IQbservable. This is the main namespace for most consumersSystem.Reactive.Subjects
- Subject implement both IObservable and IObserver and have stateSystem.Reactive.Threading.Tasks
- Interop to the TPL
精彩评论