The Bus is a lightweight library for broadcasting messages and
events to other components in an asynchronous manner.
The goals of The Bus are:
- Offer a limited API for ease of use
- 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).
- Enable messages and events to be extensible, thus
allowing for application specific subclasses to be passed around
- Depend on few third-party libraries to reduce overall
dependencies
- 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.