View
2.236
Download
4
Category
Preview:
DESCRIPTION
Slides from my Bleeding Edge 2010 Conference Reactive Extensions Talk.
Citation preview
ANDREJ TOZONMicrosoft MVP: Client App DevANT Andrej Tozon s.p., Ljubljana
@andrejt | andrej@tozon.info | http://tozon.info/blog
Preštevanje zahteva svoj časforeach (Slikca slikca in pokecSlikc){ if (!prjatu.ImaSlikco(slikca)) { prjatu.MenjajSlikco(slikca); }}
Preštevanje
IEnumerator
prešteva
IEnumerable
Opazovanje
Opazovalec
opazuje
Opazovanega
Opazovanje
IObserver
opazuje
IObservable
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();}
Preštevanje ali opazovanje?
IObserver
opazuje
IObservable
IEnumerator
prešteva
IEnumerable
Eden vleče, drugi poriva
IObserver
IObservable
IEnumerator
IEnumerable
Andrej TozonMicrosoft MVP: Client App DevANT Andrej Tozon s.p., Ljubljana
@andrejt | andrej@tozon.info | http://tozon.info/blog
Rx - Reactive Extensions
Library for composing asynchronous and event-based programs using observable collections
Rx - Reactive Extensions
Library for composing asynchronous and event-based programs using observable collections
Rx - Reactive Extensions
Library for composing asynchronous and event-based programs using observable collections
Rx - Reactive Extensions
Library for composing asynchronous and event-based programs using observable collections
Rx - Reactive Extensions
demo
Kje to dobim?http://tiny.cc/rxnet
.NET FX 3.5 SP1 in 4.0Silverlight 3 in 4Windows Phone 7JavaScript
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
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
ViriRx DevLabs http://tiny.cc/rxnetRx Blog http://blogs.msdn.com/rxteamRx Wiki http://rxwiki.wikidot.com/Channel9 http://channel9.msdn.com/tags/Rx/
Andrej TozonMicrosoft MVP: Client App DevANT Andrej Tozon s.p., Ljubljana
@andrejt | andrej@tozon.info | http://tozon.info/blog
vprašanja?
HVALA
Recommended