BT

Prism Prevents One Incomplete Feature from Derailing an Entire Release

| by Jonathan Allen Follow 575 Followers on Jun 09, 2010. Estimated reading time: 1 minute |

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.

Rate this Article

Adoption Stage
Style

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.

Tell us what you think

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

Email me replies to any of my messages in this thread
Community comments

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

Email me replies to any of my messages in this thread

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

Email me replies to any of my messages in this thread

Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT