Prism provides guidance designed to help you more easily design and build rich, flexible, and easy-to-maintain Windows Presentation Foundation (WPF) desktop applications and Silverlight Rich Internet Applications (RIAs) and Windows Phone 7 applications. Using design patterns that embody important architectural design principles, such as separation of concerns and loose coupling, Prism helps you to design and build applications using loosely coupled components that can evolve independently but which can be easily and seamlessly integrated into the overall application. These types of applications are known as composite applications.
|Prism was the code name for the guidance formally known as the Composite Application Guidance for WPF and Silverlight. For brevity and conciseness, and due to customer demand, this guidance is now referred to simply as Prism.|
Prism is intended for software developers building WPF or Silverlight applications that typically feature multiple screens, rich user interaction and data visualization, and that embody significant presentation and business logic. These applications typically interact with back-end systems and services and, using a layered architecture, may be physically deployed across multiple tiers. It is expected that the application will evolve significantly over its lifetime in response to new requirements and business opportunities. In short, these applications are "built to last" and "built for change." Applications that do not demand these characteristics may not benefit from using Prism.
|Even single-person projects experience benefits in creating more testable and maintainable applications that can evolve over time using the modular approach.|
The guidance is designed to help architects and developers achieve the following objectives:
- Create an application from modules that can be built, assembled, and, optionally, deployed by independent teams using WPF or Silverlight.
- Minimize cross-team dependencies and allow teams to specialize in different areas, such as user interface (UI) design, business logic implementation, and infrastructure code development.
- Use an architecture that promotes reusability across independent teams.
- Increase the quality of applications by abstracting common services that are available to all the teams.
- Incrementally integrate new capabilities.
Prism guidance includes completely rewritten documentation with the addition of new topics such as Model-View-ViewModel (MVVM), Managed Extensibility Framework (MEF), and application navigation.
The code assets include reusable library code (named the Prism Library), two reference implementations, QuickStart tutorials, and hands-on labs. The Prism Library is delivered as Microsoft signed assemblies and source code.
- Silverlight 5 and Visual Studio 2010: Prism 4.1 – February 2012 Documentation on MSDN | Download Source and Documentation | Download Documentation Only: book/ebook, pdf, chm
- Silverlight 4 and Visual Studio 2010: Prism 4.0 – November 2010 Documentation on MSDN | Download Source and Documentation | Download Documentation Only: book/ebook, pdf, chm
- Silverlight 3 and Visual Studio 2008: Prism 2.1 Documentation on MSDN | Download Source and Documentation | Download Documentation Only
|The documentation did not change between Prism 4.0 – November 2010 and Prism 4.1 – February 2012.|
An in-depth summary and getting started guide can be read here.
Prism has a thriving online community.
On this community site, you can post questions, provide feedback, or connect with other users for sharing ideas. Community members can also help Microsoft plan and test future offerings and download additional content, such as extensions and training materials.
Prism Team Blogs
Stay informed and up to date about Prism and patterns & practices.
Blogs and Home Pages
patterns & practices