rx - reactive extensions

21

Upload: andrej-tozon

Post on 10-May-2015

2.230 views

Category:

Technology


4 download

DESCRIPTION

Slides from my Bleeding Edge 2010 Conference Reactive Extensions Talk.

TRANSCRIPT

Page 1: Rx - Reactive Extensions
Page 2: Rx - Reactive Extensions

ANDREJ TOZONMicrosoft MVP: Client App DevANT Andrej Tozon s.p., Ljubljana

@andrejt | [email protected] | http://tozon.info/blog

Page 3: Rx - Reactive Extensions

Preštevanje zahteva svoj časforeach (Slikca slikca in pokecSlikc){    if (!prjatu.ImaSlikco(slikca))    {        prjatu.MenjajSlikco(slikca);    }}

Page 4: Rx - Reactive Extensions

Preštevanje

IEnumerator

prešteva

IEnumerable

Page 5: Rx - Reactive Extensions

Opazovanje

Opazovalec

opazuje

Opazovanega

Page 6: Rx - Reactive Extensions

Opazovanje

IObserver

opazuje

IObservable

Page 7: Rx - Reactive Extensions

Opazovanje

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

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

Page 8: Rx - Reactive Extensions

Preštevanje ali opazovanje?

IObserver

opazuje

IObservable

IEnumerator

prešteva

IEnumerable

Page 9: Rx - Reactive Extensions

Eden vleče, drugi poriva

IObserver

IObservable

IEnumerator

IEnumerable

Page 10: Rx - Reactive Extensions

Andrej TozonMicrosoft MVP: Client App DevANT Andrej Tozon s.p., Ljubljana

@andrejt | [email protected] | http://tozon.info/blog

Rx - Reactive Extensions

Page 11: Rx - Reactive Extensions

Library for composing asynchronous and event-based programs using observable collections

Rx - Reactive Extensions

Page 12: Rx - Reactive Extensions

Library for composing asynchronous and event-based programs using observable collections

Rx - Reactive Extensions

Page 13: Rx - Reactive Extensions

Library for composing asynchronous and event-based programs using observable collections

Rx - Reactive Extensions

Page 14: Rx - Reactive Extensions

Library for composing asynchronous and event-based programs using observable collections

Rx - Reactive Extensions

Page 15: Rx - Reactive Extensions

demo

Page 16: Rx - Reactive Extensions

Kje to dobim?http://tiny.cc/rxnet

.NET FX 3.5 SP1 in 4.0Silverlight 3 in 4Windows Phone 7JavaScript

Page 17: Rx - Reactive Extensions

Kje to dobim?System.Observable.dllIObservable in IObserver sta že vključena v .NET FX 4.0 Core

System.CoreEx.dllSystem.Reactive.dll

System.Interactive.dllEnumerableEx

Page 18: Rx - Reactive Extensions

Operatorji v EnumerableExKonstruktorji

ReturnThrowStartWithGenerateDefer

Enumerable -> Observable -> Enumerablevar o1 = Enumerable.Range(1, 10).ToObservable();var o2 = Enumerable.Range(51, 10).ToObservable();var en = o1.Amb(o2).ToEnumerable();

KombinatorjiConcatRepeatScanSelectMany

Page 19: Rx - Reactive Extensions

ViriRx DevLabs http://tiny.cc/rxnetRx Blog http://blogs.msdn.com/rxteamRx Wiki http://rxwiki.wikidot.com/Channel9 http://channel9.msdn.com/tags/Rx/

Page 20: Rx - Reactive Extensions

Andrej TozonMicrosoft MVP: Client App DevANT Andrej Tozon s.p., Ljubljana

@andrejt | [email protected] | http://tozon.info/blog

vprašanja?

Page 21: Rx - Reactive Extensions

HVALA