Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
98 lines (93 sloc) 1.61 KB

Event Driven Architecture with

Alt text

Vidas Vasiliauskas

< wikipedia >

Message-driven architecture is a software architecture pattern for production, detection, consumption and reaction to events

</ wikipedia >

Over-reactive?

Techradar 2016

Alt text

Alt text

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

interface IObserver<in T>
{
    OnNext(T)
    OnError(Exception)
    OnCompleted()
}

Rx.net

https://github.com/Reactive-Extensions/Rx.NET

using System.Reactive;

Note: Guess namespace

Subject<T>
RepeatSubject<T>
BehaviorSubject<T>
AsyncSubject<T>
// ISubject<T> : ISubject<T,T>, IObservable<T>, IObserver<T> 

Alt text

...to sequence

Alt text

Rx vs Linq

136 : 55

(No overloads)

Amb(IObservable)
AsyncLast()
Buffer(int i) // overload with timespan for time buffer
CombineLatest(IObservable, combineFunc)
Merge(IObservable)
Switch()

Alt text

Testing hard or hardly testing?

class TestScheduler // Implements IScheduler

  • UI events
  • Domain events
  • Streaming services
  • Live queries
  • Parallel computing
  • Mapping and reducing sequences

* Abstracting message queues like RabbitMQ, MS MQ, etc.

* https://github.com/Vasiliauskas

Ačiū :)