InfoQ Homepage News Prism Prevents One Incomplete Feature from Derailing an Entire Release

Prism Prevents One Incomplete Feature from Derailing an Entire Release


For many enterprise-scale applications there is a big problem with deploying atomic stacks. Having modular code from the developer’s point of view doesn’t help when applications have to be deployed in an all-or-nothing fashion and one bug can bust the whole release. Prism addresses this by allowing you do deploy a shell to the users separately from any specific functionality. Individual features are released separately as modules. These modules may be stored locally, on a corporate file share, or served up by a web site.

Developers are responsible for creating the Shell, the hosting application, and defining Regions. Regions are placeholders where dynamic content can be loaded from Modules. A Module should be constructed in the standard MVC pattern with one or more views, a presenter, and a model.

The Prism framework offers a Module Catalog, a Module Manger, and a Region Manager. The catalog of modules can be populated via code, a XAML file, a configuration file, or by walking a directory. The manager then loads the modules, either immediately or on demand. The Region manager loads views from the Modules into the correct Region.

Modules do not normally communicate directly with one-another. Instead, cross-module communication is handled via the Event Aggregator. This is a multiple-publisher, multiple-subscriber event system.

The recently released Prism 4.0 supports WPF and Silverlight 4 and is available under the Microsoft Public License.

We need your feedback

How might we improve InfoQ for you

Thank you for being an InfoQ reader.

Each year, we seek feedback from our readers to help us improve InfoQ. Would you mind spending 2 minutes to share your feedback in our short survey? Your feedback will directly help us continually evolve how we support you.

Take the Survey

Rate this Article


Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p


Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.