In the last post, I showed you the big picture of my UI design pattern. Before I can start showing you sample code for the different parts, I need to introduce some tools, which are used to glue all the tiny parts together:
- Dependency Injection
- Design By Contract
- Synchronous and Asynchronous Communication
- Test Driven Development

.NET, Administration, Agile
.NET, Agile, Architecture, code contracts, event broker, Ninject, Test Driven Development, User Interface
I wondered about the performance of my event broker (CodeProject article) implementation in bbv.Common.
Event Broker: a notification component for synchronous and asynchronous, loosely coupled event handling.
Therefore, I implemented a quick performance test application that prints out the timings for
- Plain .NET events
- Event over Event Broker
- Event over Event Broker with logging extension enabled
- Event over Event Broker with a matching matcher on the subscriber
- Event over Event Broker with a non-matching matcher on the subscriber
- Event over Event Broker with exception throwing subscriber
As well as how the number of subscribers on a single event influences timings.

.NET, Architecture, Software
bbv.Common, event broker, performance