Prism 4.1 - Developer's Guide to Microsoft Prism Library for WPF and Silverlight
From: Developer's Guide to Microsoft Prism Library 5.0 for WPF
patterns & practices Developer Center
2012
Summary
Prism provides guidance designed to help you more easily design and build rich, flexible, and easily maintained Windows Presentation Foundation (WPF) desktop applications, 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.
Intended Audience
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 a number of 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." If your application does not need to last or need to change, then you may not benefit from using Prism.
Note: Even single-person projects can realize the benefits by creating more testable and maintainable applications that can evolve over time using the modular approach**.**
Architectural Goals
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.
System Requirements
This guidance was designed to run on the Microsoft Windows 7, Windows Vista, or Windows Server 2008 operating systems. This version has been smoke tested on Windows XP Professional and Windows Server 2003, but it has not been exhaustively tested. WPF applications built using this guidance require the .NET Framework 4.0, and Silverlight applications require Silverlight 5.
Before you can use the Prism Library, the following must be installed:
- Microsoft Visual Studio 2010 Professional, Premium, or Ultimate edition
- Microsoft .NET Framework 4.0 (installed with Visual Studio 2010)
- Silverlight Tools for Visual Studio 2010 (required for Silverlight development; includes the developer Silverlight runtime)
- Microsoft Silverlight 5 Tools for Visual Studio 2010 (required for Silverlight development; includes the developer Silverlight runtime)
- Optional tools:
- Expression Blend 4
- Windows Phone Developer Tools SDK (for development with the Windows Phone 7)
Note
If you want to download the Prism 4.0 – November 2010 release to use with .NET Framework 4.0, Visual Studio 2010, Silverlight 4.0, and Windows Phone 7, go here for the Prism 4.0 Download. The documentation did not change between Prism 4.0 – November 2010 and Prism 4.1 – February 2012.
Note
Although the Silverlight Tools for Visual Studio 2010 are not required, it is recommended that all WPF and Silverlight developers download and use the latest version of the Silverlight Tools for Visual Studio 2010. The WPF and Silverlight Designer for Visual Studio is updated together with the Silverlight developer runtime and SDK. These updates come in the form of new features and bug fixes.
If you are authoring WPF and Silverlight projects that share code, you may want to read Sharing Code Between WPF and Silverlight, and install the Project Linker 2.2 tool.
Resources
The following table contains Prism download links to help you get started with Prism.
Downloads |
Prism 4.1 (includes Prism 4.1 source code, binaries, documentation in CHM format, Reference Implementations, QuickStarts, and Hands-on Labs in C#) for the .NET Framework 4.0 and Silverlight 5. Prism 4.0 (includes Prism 4.0 source code, binaries, documentation in .chm format, Reference Implementations, QuickStarts, and Hands-on Labs in C#) for the .NET Framework 4.0 and Silverlight 4. Developer's Guide to Microsoft Prism 4 on MSDN. Developer's Guide to Microsoft Prism 4 in printed book and eBook formats. Developer's Guide to Microsoft Prism 4 in .pdf format Visual Basic Prism 4 Reference Implementations, QuickStarts, and Hands-on Labs |
Getting Started |
Prism 4.1 ReadMe (includes installation instructions). |
Book |
|
Upgrading |
|
Related Download |
ManifestManagerUtility for ClickOnce. Publishing and Updating Applications Using the Prism Library Hands-on Lab |
Community Feedback and Support |
|
License |
Guidance Assets
Documentation |
The documentation for Prism 4 has been completely rewritten and includes the architectural overview, design, and technical concepts for composite applications, applied patterns, two chapters covering Model-View-ViewModel (MVVM), application navigation, Stock Trader Reference Implementation (Stock Trader RI) and MVVM Reference Implementation (MVVM RI) overview, QuickStart overviews, and deployment topics. Much of this guidance is applicable even if you are not using the Prism Library, but you want to know best practices for creating composite applications. |
Prism Library |
The Prism Library ships as Microsoft signed binaries and source code. Developers can use the Prism Library to develop WPF or Silverlight applications that are composed of independent and collaborating modules. The library includes extensions to support the integration of the Unity Application Block (Unity) and Managed Extensibility Framework (MEF). |
Stock Trader Reference Implementation (Stock Trader RI) |
This application illustrates the baseline Prism architecture. Within the application, you will see solutions for common, and recurrent, challenges that developers face when creating composite applications. The reference implementation is not a real-world application; however, it is based on real-world challenges customers are facing. When you look at this application, do not look at it as a reference point for building a stock trader application; instead, look at is as a reference for building a composite application. |
MVVM Reference Implementation (MVVM RI) |
This MVVM RI demonstrates how to build an application that implements the MVVM pattern and shows how to address some advanced challenges that you might face when using this pattern. |
QuickStarts |
These include the source code for several small, focused applications that illustrate user interface (UI) composition, modularity, commanding, event aggregation, and multi-targeting applications between WPF and Silverlight. The Getting Started Hands-On Labs provide step-by-step instructions for creating your first application using the Composite Application Library in WPF or Silverlight. |
Feedback and Support
To provide feedback about this deliverable, or to get help with any problems, visit the online Community site at CodePlex.
Prism is designed to be reused, customized, and extended. It is not a Microsoft product. Code-based guidance is shipped "as is" and without warranties. Customers can obtain support through Microsoft Support Services for a fee, but the code is considered user-written.
Future Plans
The next release of Prism is planned for the summer or fall of 2012. To provide feedback, please create and vote on work items in the CodePlex issue tracker.
Related Titles
- Prism for Windows for the Windows Runtime
- Prism Library 5.0 for WPF
- Unity Application Block
- Enterprise Library
- Managed Extensibility Framework Overview
Prism Team Blogs
Stay informed and up to date about Prism and patterns & practices.
Name |
Blogs and Home Pages |
|
---|---|---|
Blaine Wastell |
||
Francis Cheung |
||
patterns & practices |
Authors and Contributors
Prism was produced by the following individuals:
patterns & practices Team:
Microsoft Corporation |
Blaine Wastell, Bob Brumfield, David Hill, Karl Shifflett, Larry Brader, Michael Puleio, Nelly Delgado |
Clarius Consulting |
Fernando Simonazzi |
Infosys Technologies Ltd |
Mani Krishnaswami, Meenakshi Krishnamoorthi, Rathi Velusamy, Ravindra Varman, Sangeetha Manickam, Sanghamitra Chilla |
Software Insight |
Brian Noyes |
Southworks SRL |
Diego Poza, Fernando Antivero, Geoff Cox, Matias Bonaventura |
TinaTech, Inc. |
Tina Burden |
Modeled Computation |
Sharon Smith, Katie Niemer |
Many thanks to the following advisors who provided invaluable assistance:
Bill Wilder of Fidelity Investments, Clifford Tiltman of Morgan Stanley, Rob Eisenberg of Blue Spire, Norman Headlam, Ward Bell of IdeaBlade, Paul Jackson of CM Group Ltd., John Papa of Microsoft, Julian Dominguez of Clarius Consulting, Ted Neveln of Ballard Indexing Services, Glenn Block of Microsoft, Michael Kenyon of IHS, Inc., Terry Young of PEER Group, Jason Beres of Infragistics, Peter Lindes of The Church of Jesus Christ of Latter-day Saints, Mark Tucker of Neudesic, LLC, David Platt of Rolling Thunder Computing, Steve Gentile of Strategic Data Systems, Markus Egger of EPS Software Corp. and CODE Magazine, Ryan Cromwell of Strategic Data Systems, Todd Neal of McKesson Corp, Dipesh Patel of Fidelity Investments, and David Poll of Microsoft.