To provide better information on how a CAB based application works we included in the runtime something we called "visualizers". Think of this as a realtime "watch" on the application where CAB abstractions are shown: commands, events, workitems, etc.
It's a convenient way of knowing if everything is wired and setup as expected. The primary motivations of this subsystem are to help you:
- Understand how this abstractions are related to each other (learning)
- Troubleshoot your application when it doesn't behave as expected (fixing)
A simple visualizer is availabe in the Community site here: http://practices.gotdotnet.com/projects/cab
It is not fancy, but it provides a fair amount of information. Running it against the BankTeller QuickStart will show something like this:
The intereseting thing about this is that it works with any application, not just ours.
Of course you could write all sort of neat visualizations, using graphics, Visio plug-in? etc. Hopefully we will have some spare cycles to do omethig around this.