Reactive extensions for dot net

17
Reactive Extensions for .NET Previously Linq to Events 06/13/2022 1 Eric R Taylor

description

Reactive extensions for dot net - departmental presentation

Transcript of Reactive extensions for dot net

Page 1: Reactive extensions for dot net

04/11/2023 1Eric R Taylor

Reactive Extensions for

.NETPreviously Linq to Events

Page 2: Reactive extensions for dot net

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

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

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

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

04/11/2023Eric R Taylor 6

Merge

Page 7: Reactive extensions for dot net

04/11/2023Eric R Taylor 7

SkipUntil - TakeUntil

green.SkipUntil(blue).TakeUntil(red)

Page 8: Reactive extensions for dot net

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

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

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

04/11/2023Eric R Taylor 11

Standard Event Composition

Page 12: Reactive extensions for dot net

04/11/2023Eric R Taylor 12

Converting Standard Events into Observables

Page 13: Reactive extensions for dot net

04/11/2023Eric R Taylor 13

Rx Event Composition

Page 14: Reactive extensions for dot net

04/11/2023Eric R Taylor 14

Rx Event Projection

Page 15: Reactive extensions for dot net

04/11/2023Eric R Taylor 15

Rx IObservable Chaining

Page 16: Reactive extensions for dot net

04/11/2023Eric R Taylor 16

Rx Multiple Subscribers

Page 17: Reactive extensions for dot net

04/11/2023Eric R Taylor 17

Rx Multiple Subscribers