This project is read-only.

Getting Started with Prism

Architects and developers will need to devote some time and effort to fully understand and evaluate Prism. Although there is no single way to evaluate a solution, this guidance divides the process into four steps:

Download. Download the guidance or documentation.
1. Fit analysis. Determine if the guidance suits your needs.
2. Initial evaluation. Install, run, and examine the guidance.
3. In-depth evaluation. Conduct a thorough examination of the guidance.
4. Adoption. Incorporate the guidance into a composite application.
Upgrading from earlier releases. Upgrade from the Composite UI Application Block (CAB) / Smart Client Software Factory (SCSF) or Composite Client Application Guidance - June 2008 Release

The next sections describe each step.


Depending on your requirements and prerequisites, download one of the following versions of Prism:

Step 1: Fit Analysis

Prism is for designing complex WPF or Silverlight applications. The following are scenarios where you should consider using Prism:
  • You are building a composite application that presents information from multiple sources through an integrated user interface.
  • You are developing, testing, and deploying modules independently of the other modules.
  • Your application will add more views and more functionality over the coming years.
  • You must be able to change the application quickly and safely to meet emergent business requirements.
  • Your application is being developed by multiple collaborating teams.
  • Your application targets both WPF and Silverlight, and you want to share as much code as possible between the two platforms.

Prism may not be right for you if your applications do not require one or more of these scenarios. It also may not be right for you if, for example, your application consists of a few simple screens, you are building a prototype or demonstration application, or your developers are not familiar with the ideas and practices and do not have the time to learn them.

To determine whether Prism is a potential fit, you need to understand the problems that the solution solves. The following sections may help you perform a fit analysis:

Topic Version 1.0 2008 Version 2.1 2009
When to Use This Guidance link link
Goals and Benefits link link
Modularity design concept link link
UI Composition design concept link link
Intended Audience link link

This phase should take one to two hours to complete.

Step 2: Initial Evaluation

To take a closer look at Prism, you will want to learn more about the design of the Prism Library (also called the Composite Application Library) to determine how composite application architectures fit into your enterprise or solution architectures. You will also want to start looking at the code by developing a simple "Hello World" application.

The relevant topics to read for this step include the following:

Topic Version 1.0 2008 Version 2.1 2009
Composite Application Library link link
Separated Presentation Pattern link link
Dependency Injection Pattern link link
Container and Services link link
Event Aggregator link link
UI Composition link link

To get some hands-on experience, complete the following activities:

This phase should take three to four hours to complete.

Step 3: In-Depth Evaluation

Before deciding to use Prism for your application, you may want to perform an in-depth evaluation. The Prism team recommends you evaluate the QuickStarts and the Stock Trader Reference Implementation (Stock Trader RI) and consider developing a proof of concept application with which to gain a deep understanding of the library. At this point, you should also think about required extensions to the library and optimizations that will help you meet your organization's requirements.

Before starting your proof-of-concept application, the Prism team recommends that you read the following:

Topic Version 1.0 2008 Version 2.1 2009
Bootstrapper link link
Module link link
Shell and View link link
Commands link link
Communication link link
Multi-Targeting not applicable link
Examine the QuickStarts link link
Review the Reference Implementation link link

As you are developing your proof-of-concept application, you should do the following:

The amount of time spent on this phase will differ based on the size and nature of your proof-of-concept application.

Step 4: Adoption

Prism has an explicit goal to provide a good adoption experience. To deliver on this goal, Prism provides the following:
  • You can "opt in" and "opt out" of Prism capabilities. For example, you can consume only the services you need.
  • You can incrementally add the Prism Library capabilities to your existing WPF or Silverlight applications.
  • You can build WPF and Silverlight applications that share as much code as possible.
  • It is non-invasive because of the following:
    • It limits the Prism Library footprint in the code.
    • It limits reliance on custom Prism attributes. You can integrate existing libraries with the Prism Library through a design that favors composition over inheritance (this avoids forcing you to inherit from the classes in the Prism Library).

To adopt Prism, you will need to perform the following tasks:
  • Decide how you will use the library: as-is or customized to fit your requirements.
  • Make the key decisions described in Key Decisions and communicate this with the rest of your development team.
  • Educate your development team about the Prism Library. Developers should review the following:

Topic Version 1.0 2008 Version 2.1 2009
When to Use This Guidance link link
Prism Assets link link
UI Composition technical concept link link
Module technical concept link link
Development Activities link link
Sample code QuickStarts and Stock Trader RI QuickStarts and Stock Trader RI

Educate your designers about working with applications using the Composite Application Library. Designers should review the following:

Upgrading from Earlier Releases

If you are upgrading to Prism released in October 2009 from the previous June 2008 release, you should review Upgrading from the Composite Application Guidance for WPF - June 2008 to understand the major differences between the two releases.

If you are upgrading from the Composite UI Application Block to the Composite Application Library (Prism Library), you should review Upgrading from the Composite UI Application Block so that you understand how the concepts in the Composite UI Application Block map to the Prism Library.

Last edited Sep 8, 2010 at 8:30 PM by ndelgado, version 35


n_thana Feb 12, 2009 at 9:34 AM 
I cannot find the Composite Application Guidance for WPF and Silverlight source as refered in .chm file from Drop 9. Where can I get it?