Bibliography for the Developer's Guide to Prism Library 5.0 for WPF
From: Developer's Guide to Microsoft Prism Library 5.0 for WPF
General Links
To download Prism binaries, source code, and documentation, see the Prism home page on MSDN at https://www.microsoft.com/Prism.
If you have comments on this guide, visit the Prism community site at https://www.codeplex.com/Prism.
1: Introduction
Prism assumes you have hands-on experience with WPF. If you need general information about WPF see the following resources:
- Windows Presentation Foundation on MSDN.
- MacDonald, Matthew. Pro WPF in C# 2010: Windows Presentation Foundation in .NET 4, Apress, 2010.
- Nathan, Adam. WPF 4 Unleashed. Sams Publishing, 2010.
2: Initializing Prism Applications
For more information about MEF, AggregateCatalog, and AssemblyCatalog, see Managed Extensibility Framework Overview on MSDN.
3: Managing Dependencies Between Components
For information related to containers, see the following:
- Unity Application Block on MSDN.
- Unity community site on CodePlex.
- Managed Extensibility Framework Overview on MSDN.
- MEF community site on CodePlex
- Inversion of Control containers and the Dependency Injection pattern on Martin Fowler's website.
- Design Patterns: Dependency Injection in MSDN Magazine.
- Loosen Up: Tame Your Software Dependencies for More Flexible Apps in MSDN Magazine.
- Castle Project
- StructureMap
- Spring.NET
4: Modular Application Development
To learn more about modularity in Prism, see the Modularity with MEF for WPF QuickStart or the Modularity with Unity for WPF QuickStart. For more information about the QuickStarts, see Modularity QuickStarts for WPF.
For information about the modularity features that can be extended in the Prism Library, see Modules in Extending Prism.
5: Implementing the MVVM Pattern
For more information about data binding in WPF, see Data Binding on MSDN.
For more information about binding to collections in WPF, see Binding to Collections in Data Binding Overview on MSDN.
For more information about the Presentation Model pattern, see Presentation Model on Martin Fowler's website.
For more information about data templates, see Data Templating Overview on MSDN.
For more information about MEF, see Managed Extensibility Framework Overview on MSDN.
For more information about Unity, see Unity Application Block on MSDN.
For more information about DelegateCommand and CompositeCommand, see Communicating Between Loosely Coupled Components.
For more information about using MVVM in Windows Store Apps see Using the Model-View-ViewModel (MVVM) pattern in a Windows Store business app using C#, XAML, and Prism.
6: Advanced MVVM Scenarios
For more information about the logical tree, see Trees in WPF on MSDN.
For more information about attached properties, see Attached Properties Overview on MSDN.
For more information about MEF, see Managed Extensibility Framework Overview on MSDN.
For more information about Unity, see Unity Application Block on MSDN.
For more information about DelegateCommand, see Implementing the MVVM Pattern.
For more information about using Microsoft Expression Blend behaviors, see Working with built-in behaviors on MSDN.
For more information about creating custom behaviors with Microsoft Expression Blend, see Creating Custom Behaviors on MSDN.
For more information about creating custom triggers and actions with Microsoft Expression Blend, see Creating Custom Triggers and Actions on MSDN.
For more information about using the dispatcher in WPF , see Threading Model and The Dispatcher Class on MSDN.
For more information about region navigation, see the section, View-Based Navigation in Navigation.
For more information about the Event-based Asynchronous pattern, see Event-based Asynchronous Pattern Overview on MSDN.
For more information about the IAsyncResult design pattern, see Asynchronous Programming Overview on MSDN.
7: Composing the User Interface
For more information about extending the Prism Library, see Extending the Prism Library.
For more information about commands, see Commands in Implementing the MVVM Pattern.
For more information about data binding, see Data Binding in Implementing the MVVM Pattern.
For more information about region navigation, see Navigation.
For more information about the guidelines discussed in this topic, see the following:
- Dependency Properties Overview on MSDN.
- Data binding; see:
- Data Binding Overview on MSDN.
- Data Binding in WPF in MSDN Magazine.
- Data Templating Overview on MSDN.
- Resources Overview on MSDN.
- UserControl Class on MSDN.
- VisualStateManager Class on MSDN.
- Customizing Controls For Windows Presentation Foundation in MSDN Magazine.
- ComponentResourceKey Markup Extension on MSDN.
- Design-Time Attributes in the WPF Designer on MSDN.
- Markup Extensions and WPF XAML on MSDN.
- Sample Data in the WPF and Silverlight Designer on MSDN.
- Learning the Visual Studio WPF and Silverlight Designer. This contains tutorials and articles on layout, resources, data binding, sample data, debugging data bindings, object data sources, and master-detail forms.
8: Navigation
For more information about Prism regions, see Composing the User Interface.
For more information about the MVVM pattern and Interaction Request pattern, see Implementing the MVVM Pattern and Advanced MVVM Scenarios.
For more information about the Interaction Request object, see Using Interaction Request Objects in Advanced MVVM Scenarios.
For more information about the Visual State Manager, see VisualStateManager Class on MSDN.
For more information about using Microsoft Blend behaviors, see Working with built-in behaviors on MSDN.
For more information about creating custom behaviors with Microsoft Blend, see Creating Custom Behaviors on MSDN.
9: Communicating Between Loosely Coupled Components
For more information about weak references, see Weak References on MSDN.
10: Deploying Prism Applications
Download the Manifest Manager Utility from the Prism community site on Codeplex.
To learn the specific steps involved in publishing and updating a WPF Prism application that uses dynamic module loading, see the Publishing and Updating Applications Using the Prism Library Hands-on Lab.
12: Patterns in the Prism Library
The following are references and links to the patterns found in the Stock Trader RI and in the Prism Library:
- Composite pattern in Chapter 4, "Structural Patterns," in Design Patterns: Elements of Reusable Object-Oriented Software (1).
- Adapter pattern in Chapter 4, "Structural Patterns," in Design Patterns: Elements of Reusable Object-Oriented Software (1).
- Façade pattern in Chapter 4, "Structural Patterns," in Design Patterns: Elements of Reusable Object-Oriented Software (1).
- Template Method pattern in Chapter 5, "Behavioral Patterns," in Design Patterns: Elements of Reusable Object-Oriented Software (1).
- Observer pattern in Chapter 5, "Behavioral Patterns," in Design Patterns: Elements of Reusable Object-Oriented Software (1).
- Exploring the Observer Design Pattern on MSDN.
- Repository pattern in Patterns of Enterprise Application Architecture by Martin Fowler or the abbreviated version on his website.
- Inversion of Control containers and the Dependency Injection pattern on Martin Fowler's website.
- Plugin pattern on Martin Fowler's website.
- Registry pattern on Martin Fowler's website.
- Presentation Model pattern on Martin Fowler's website.
- Event Aggregator pattern on Martin Fowler's website.
- Separated Interface pattern on Martin Fowler's website.
- MVC and MVP variants on Martin Fowler's website.
- Design Patterns: Dependency Injection by Griffin Caprio on MSDN.
- Model-View-ViewModel pattern on John Gossman's blog.
For more information about the Unity Application Block, see "Unity Application Block" on MSDN.
(1) Gamma, Erich, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley Professional, 1995.
13: Prism Library
Prism's community sites are:
For more information about Unity, see the following:
- "Unity Application Block" on MSDN.
- Unity community site on CodePlex.
For more information about MEF, see the following:
- "Managed Extensibility Framework Overview" on MSDN.
- MEF community site on CodePlex.
For more information about service locator, see the Common Service Locator on CodePlex.