A blackboard system is a highly #decoupled system based on tuple space which has the following characteristics:
- Modules doesn’t need to know each other existence
- Modules watch the board for new influx of information, and add their own if needed
- The data or information may come in many forms such as integer, graphics, data structure and so on
- Modules may have vastly different responsibility between each other
- The lifetime of the modules could be varied, and interact with the blackboard in different period
If implemented correctly, it can be of great replacement to the popular #Model-View-Controller (MVC). The following shows the example of libraries or implementation of such system:
- JavaSpaces
- T Spaces