reactive extensions itjam

Post on 10-May-2015

390 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

reactive extensions

about me

Kharkov – Ciklum (Scale Point) - .NET – podcasts – open source

rx current version• Base interfaces in BCL .NET 4 and

WP7• Stable version: v1.0.10621• Experimental Release: v1.1.10621• Last update: June 29, 2011• http://msdn.microsoft.com/en-us/

data/gg577609

rx for.NET

.NET 3.5 SP1 .NET 4

Silverlight Silverlight 4 Silverlight 5 Windows Phone

Java script

rx mission“Rx is a library for composing

asynchronous and event-based programs using observable collections.”

“asynchronous”

“observable”interface IEnumerable<out T>{ IEnumerator<T> GetEnumerator();}

interface IEnumerator<out T> : IDisposable{ bool MoveNext(); T Current { get; } void Reset();}

interface IObservable<out T>{ IDisposable Subscribe(IObserver<T> observer);}

interface IObserver<in T>{ void OnNext(T value); void OnError(Exception ex); void OnCompleted();}

Environment

MoveN

ex

tGot next?

Application

On

Next

Have next!

IEnumerable<T>

IEnumerator<T>

IObservable<T>

IObserver<T>

Inte

racti

ve R

eactiv

e

IDisposableinterface IObservable<out T>{ IDisposable Subscribe(IObserver<T> observer);}

interface IObserver<in T>{ void OnNext(T value); void OnError(Exception ex); void OnCompleted();}

“composing”• Linq(Where, Take, Skip, Sum, Max,

Any, …)• Statements(If, Case, For, While,

DoWhile)• Combinators(Merge, Zip, Amb, …)• Exceptions(Catch, Retry, ..)• Rx(Delay, Throttle, Interval, Publish,

…)

“event-based”Observable.FromEventPattern()Observable.FromAsyncEventPattern()

ISchedulerObservable.OnserveOn()Observable.SubscribeOn(Scheduler.Tas

kPool)

demo

rx unit testing

more rxRx Contrib

http://rxcontrib.codeplex.com/ Reactive Extensions - Extensions (Rxx)

http://rxx.codeplex.com/ Rx Power Toys

http://rxpowertoys.codeplex.com/

examples

ReactiveUI

http://www.reactiveui.net/

domain events

http://chaliy.name/archive/2010/1/business_logic_rx_example

TweetSharp.Rx

https://github.com/jhollingworth/TweetSharp.Rx

rx in books

informationRx team blog

http://blogs.msdn.com/rxteamDevLabs

http://msdn.microsoft.com/en-us/data/gg577609MSDN forums

http://social.msdn.microsoft.com/Forums/en-US/rxChannel9

http://channel9.msdn.com/Tags/RxWiki

http://rxwiki.wikidot.com

summary

questions?dimapasko@gmail.compad@ciklum.net

@dimapasko

top related