Composite Guidance for WPF Documentation and Hands On Lab1 Comment
As you may already now, the Composite Application Guidance for WPF was released a few days ago. In this project I had the pleasure of working with the patterns & practices team, mainly as a technical writer. (I wrote a few lines of code too, but nothing compared to the huge job done by devs!)
Hands On Lab for free
One of the things I want to highlight is that, apart from having 300 printed pages (!), the documentation includes a Hands on Lab. What I like about Hands on Labs is that they provide a guided and integrated learning process through practical exercises surrounded by background technical content.
The Lab is quite hidden in the table of contents; you can find it under the node Composite Application Guidance for WPF Hands On Lab in the table of contents.
This lab covers the basic concepts of the Composite Application Guidance for WPF as you build a simple Hello World application. The following is a list of questions we tried to address:
- What an application based on the Composite Application Library is
- What are the Composite Application Library assemblies, what they contain
- What is the Shell project and the Shell window
- What is the Bootstrapper, and what is the UnityBootstrapper class and how it is used
- What is a container and how it relates to the dependency injection pattern
- What is a service
- What is a region
- What type of regions are supported out-of-the-box by the Composite Application Library
- What is a module
- What is the module initializer class
- What folders a module typically contains
- What are the different ways of loading modules
- What is the StaticModuleEnumerator class and how it is used
- What is a view
- What is the Region manager and how to use it to add views and named views
Topics not Covered
To keep the Lab simple (and to ship on time!), we consciously kept some topics out of the Lab. However, you can find information about those topics across the documentation. The following list presents some of the topics not covered in the Lab and links to related resources:
- Decoupled Events
- How to dynamically load modules
- Scoped Regions.
- Presentation Model and Supervising Controller patterns
- How to unit test an application based on the Composite Application Library. See the source code in the Stock Trader Reference Implementation or in the QuickStarts.
We didn’t include Hands On Labs in previous deliverables like the Smart Client Software Factory and the Web Client Software Factory, so we are experimenting a new approach here (we did released Hands on Lab as separate downloads some time after the official releases, though). I personally think that including a Hands On Lab within the initial package will help users with the learning process and adoption, but I’m excited about reading your comments.
Do you like the lab? Is it useful? Would you recommend it to your colleagues and/or customers? It is great to receive feedback like this, but negative feedback is welcome too!
Leave a comment
Your email address will not be published.