I just learned about Prism as a way for developing composite applications using WPF.
Prism as a guideline:
This guidance will help you design and build flexible client applications using loosely coupled, independently evolvable pieces that work together and are integrated into the overall application. This type of application is known as a composite application.
To answer the question why using Prism, refer to http://msdn.microsoft.com/en-us/library/dd490815.aspx
Composite applications provide many benefits, including the following:
- They allow modules to be individually developed, tested, and deployed by different individuals or sub-teams…
- They provide a common shell composed of UI components contributed from various modules that interact in a loosely coupled way…
- They promote re-use and a clean separation of concerns between the application’s horizontal capabilities…
- They help maintain a separation of roles by allowing different individuals or sub-teams to focus on a specific task or piece of functionality according to their focus or expertise…
- Prism on CodePlex: http://www.codeplex.com/CompositeWPF
- Prism for Silverlight – An Intro to Composite Applications: