Back in July, I posted about the documentation shipped with the first release of the Composite Application Guidance for WPF (aka Prism). Some months ago, the docs have been presented in book format:


(more details | PDF version)

Recently, I have been notified that the Japanese version is also available:

This is great news - way to go patterns & practices team!

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.ToC

Covered Topics

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:

Feedback Welcome

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!

Prism Team

April 28th, 2008

Want to see how we work at Prism? Don’t miss this great post from Glenn. He describes the team, how we work, what being at the team room feels, and he also shows pictures of the (distributed) team and includes videos that show how we do iteration planning.

Prism Team 1_2 Prism Team 2_4
Prism Team 3_4

The Prism team.
1st picture: Redmond, WA, USA. 2nd picture: Buenos Aires, Argentina. 3rd picture: India