The Bus User's Guide

Chapter 1. Overview


The Bus is a lightweight library for broadcasting messages and events to other components in an asynchronous manner.

The goals of The Bus are:

  1. Offer a limited API for ease of use
  2. The library should not require existing classes to conform to a specific class heirarchy to use the library (It is acceptable to require interfaces to be implemented for subscribers to The Bus).
  3. Enable messages and events to be extensible, thus allowing for application specific subclasses to be passed around
  4. Depend on few third-party libraries to reduce overall dependencies
  5. Follow standard architecture and design patterns for clarity and extensibility.

The Bus was inspired by the Lotus InfoBus library, while offering some slight twists and a slimmed down API and using an LGPL license.