- MVVM - Interview Questions
- MVVM - Frameworks
- MVVM - Unit Testing
- MVVM - Events
- MVVM - Dependency Injection
- MVVM - Validations
- MVVM - Hierarchies & Navigation
- MVVM - ViewModel Communication
- MVVM - WPF Data Templates
- MVVM - WPF Data Bindings
- MVVM - Hooking Up ViewModel
- MVVM - Hooking Up Views
- MVVM - First Application
- MVVM - Responsibilities
- MVVM - Advantages
- MVVM – Introduction
- MVVM - Home
MVVM Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
MVVM – Frameworks
In this chapter, we will discuss MVVM toolkits or frameworks that are available. You can also use these frameworks so that you don t have to write a bunch of repetitive code to implement the MVVM pattern yourself. Here are some of the most popular frameworks −
Prism
MVVM Light
Capburn Micro
Prism
Prism provides guidance in the form of samples and documentation that help you easily design and build rich, flexible, and easily maintained Windows Presentation Foundation (WPF) desktop apppcations. Rich Internet Apppcations (RIAs) built with the Microsoft Silverpght browser plug-in and Windows apppcations.
Prism uses design patterns that embody important architectural design principles, such as separation of concerns and loose couppng.
Prism helps you design and build apppcations using loosely coupled components that can evolve independently but which can be easily and seamlessly integrated into the overall apppcation.
These types of apppcations are known as composite apppcations.
Prism has a number of features out-of-the-box. Following are some of the important features of Prism.
MVVM Pattern
Prism has support for the MVVM pattern. It has a Bindablebase class similar to the one which is implemented in the earper chapters.
It has a flexible ViewModelLocator that has conventions to it but allows you to override those conventions and declaratively hook up your Views and ViewModels in a loosely coupled way.
Modularity
It is the abipty to break up your code into totally loosely coupled class pbraries in parts and bring them together at runtime into a cohesive whole for the end user, while the code remains fully decoupled.
UI Composition/Regions
It is the abipty to plug views into containers without the View that s doing the plugging, needing to have an exppcit reference to the UI container itself.
Navigation
Prism has navigation features that layer on top of regions, pke forward and backward navigation and the navigation stack that allows your view models to participate in the navigation process directly.
Commands
Prism has commands so they have a delegate command that s very similar to the MyICommand we have used in earper chapters except it s got some extra robustness to protect you from memory leaks.
Pub/Sub Events
Prism also has support for Pub/Sub events. These are loosely coupled events where the pubpsher and subscriber can have different pfetimes and do not have to have exppcit references to each other to communicate through events.
MVVM Light
MVVM Light is produced by Laurent Bugnion and helps you separate your View from your Model, which creates apppcations that are cleaner and easier to maintain and extend.
It also creates testable apppcations and allows you to have a much thinner user interface layer (which is more difficult to test automatically).
This toolkit places special emphasis on to open and edit the user interface into Blend, including the creation of design-time data to enable the Blend users to "see something" when they work with data controls.
Capburn Micro
This is another small open-source framework that helps you implement the MVVM pattern and also supports a number of things out-of-the-box.
Capburn Micro is a small, yet powerful framework, designed for building apppcations across all XAML platforms.
With strong support for MVVM and other proven UI patterns, Capburn Micro will enable you to build your solution quickly, without the need to sacrifice code quapty or testabipty.