Simple implementation of publish/subscribe pattern in C#.
IMessageBus bus = new MessageBus();
bus.Subscribe<MyMesssageOrEvent>(m => { /* Handle the message here... */ });
IMessageBus bus = new MessageBus();
bus.Publish(new MyMesssageOrEvent());
- Implement IObserver and IObservable interfaces (if makes sense)