Reactive extensions for dot net
-
Upload
ericsoftwareeng -
Category
Technology
-
view
363 -
download
20
description
Transcript of Reactive extensions for dot net
![Page 1: Reactive extensions for dot net](https://reader035.fdocuments.us/reader035/viewer/2022062220/554ebec6b4c905064d8b47a6/html5/thumbnails/1.jpg)
04/11/2023 1Eric R Taylor
Reactive Extensions for
.NETPreviously Linq to Events
![Page 2: Reactive extensions for dot net](https://reader035.fdocuments.us/reader035/viewer/2022062220/554ebec6b4c905064d8b47a6/html5/thumbnails/2.jpg)
04/11/2023Eric R Taylor 2
IObserver - Observable
• Comparable to IEnumerable and IEnumerator• Built into .Net 4.0, In the System namespace
![Page 3: Reactive extensions for dot net](https://reader035.fdocuments.us/reader035/viewer/2022062220/554ebec6b4c905064d8b47a6/html5/thumbnails/3.jpg)
04/11/2023Eric R Taylor 3
Push vs. Pull
• Pull – IEnumerableo Gather a set of datao Do something for each item in the set
• Push – IObservableo Decide what you want to do for each itemo React to each item as it is introduced
![Page 4: Reactive extensions for dot net](https://reader035.fdocuments.us/reader035/viewer/2022062220/554ebec6b4c905064d8b47a6/html5/thumbnails/4.jpg)
04/11/2023Eric R Taylor 4
Linq Extensions• Extension methods based on IEnumerable<T>
• Chainable• Filtering – Where• Projection – Select• Paging – Take, Skip• Composition – Join• Rearrange – OrderBy
![Page 5: Reactive extensions for dot net](https://reader035.fdocuments.us/reader035/viewer/2022062220/554ebec6b4c905064d8b47a6/html5/thumbnails/5.jpg)
04/11/2023Eric R Taylor 5
Reactive Extensions• Extension methods based on IObservable<T>
• Chainable• Filtering – Where• Projection – Select• Paging – TakeUntil, SkipUntil• Composition – Merge, Zip, CombineLatest• Time based – Interval, Delay, Throttle, Sample
![Page 6: Reactive extensions for dot net](https://reader035.fdocuments.us/reader035/viewer/2022062220/554ebec6b4c905064d8b47a6/html5/thumbnails/6.jpg)
04/11/2023Eric R Taylor 6
Merge
![Page 7: Reactive extensions for dot net](https://reader035.fdocuments.us/reader035/viewer/2022062220/554ebec6b4c905064d8b47a6/html5/thumbnails/7.jpg)
04/11/2023Eric R Taylor 7
SkipUntil - TakeUntil
green.SkipUntil(blue).TakeUntil(red)
![Page 8: Reactive extensions for dot net](https://reader035.fdocuments.us/reader035/viewer/2022062220/554ebec6b4c905064d8b47a6/html5/thumbnails/8.jpg)
04/11/2023Eric R Taylor 8
Buffer
21 3 4 5 6 7
1 2 3 4 5 6
2 3 4 5 6 7
![Page 9: Reactive extensions for dot net](https://reader035.fdocuments.us/reader035/viewer/2022062220/554ebec6b4c905064d8b47a6/html5/thumbnails/9.jpg)
04/11/2023Eric R Taylor 9
Subscriptions• Joining an IObserver to an IObservable• Returns an IDisposable, Dispose to unsubscribe• Extension methods for Subscribe overrides
![Page 10: Reactive extensions for dot net](https://reader035.fdocuments.us/reader035/viewer/2022062220/554ebec6b4c905064d8b47a6/html5/thumbnails/10.jpg)
04/11/2023Eric R Taylor 10
Scheduler• Most extensions that are time based have
overrides that accept a scheduler.
![Page 11: Reactive extensions for dot net](https://reader035.fdocuments.us/reader035/viewer/2022062220/554ebec6b4c905064d8b47a6/html5/thumbnails/11.jpg)
04/11/2023Eric R Taylor 11
Standard Event Composition
![Page 12: Reactive extensions for dot net](https://reader035.fdocuments.us/reader035/viewer/2022062220/554ebec6b4c905064d8b47a6/html5/thumbnails/12.jpg)
04/11/2023Eric R Taylor 12
Converting Standard Events into Observables
![Page 13: Reactive extensions for dot net](https://reader035.fdocuments.us/reader035/viewer/2022062220/554ebec6b4c905064d8b47a6/html5/thumbnails/13.jpg)
04/11/2023Eric R Taylor 13
Rx Event Composition
![Page 14: Reactive extensions for dot net](https://reader035.fdocuments.us/reader035/viewer/2022062220/554ebec6b4c905064d8b47a6/html5/thumbnails/14.jpg)
04/11/2023Eric R Taylor 14
Rx Event Projection
![Page 15: Reactive extensions for dot net](https://reader035.fdocuments.us/reader035/viewer/2022062220/554ebec6b4c905064d8b47a6/html5/thumbnails/15.jpg)
04/11/2023Eric R Taylor 15
Rx IObservable Chaining
![Page 16: Reactive extensions for dot net](https://reader035.fdocuments.us/reader035/viewer/2022062220/554ebec6b4c905064d8b47a6/html5/thumbnails/16.jpg)
04/11/2023Eric R Taylor 16
Rx Multiple Subscribers
![Page 17: Reactive extensions for dot net](https://reader035.fdocuments.us/reader035/viewer/2022062220/554ebec6b4c905064d8b47a6/html5/thumbnails/17.jpg)
04/11/2023Eric R Taylor 17
Rx Multiple Subscribers