prism vs mvvm light for wpf

I just moved a project from Prism to MvvmLight and it seems to work faster (very subjective). Both Prism and MvvmLight have Mediator realisation (IEventAggregator in Prism, IMessenger in MvvmLight). But IMessenger has more abilities (for instance, sending messages with tokens) compared to IEventAggregator and is much more convenient to use (see next item). MvvmLight … Read more

MVVM: Binding to Model while keeping Model in sync with a server version

In the past I ‘ve written an application that supports “live” editing of data objects from multiple locations: many instances of the app can edit the same object at the same time, and when someone pushes changes to the server everyone else gets notified and (in the simplest scenario) sees those changes immediately. Here’s a … Read more

MVVM, Unity, Prism, MEF, Caliburn – What should I use?

If you want to build an MVVM application (which you probably do for various advantages), then you want an MVVM framework. I would recommend Caliburn.Micro, as it is straightforward to implement following the examples on the Caliburn.Micro documentation page. It also has a very compelling convention over configuration mechanism, and uses an Actions system to … Read more

WPF/Prism: What is a UNITY Container?

This is a more technical description of the background, I hope you still find it useful. Generally put, it is a DI (dependency injection) container. Given the following class: public class Sample { Service a; public Sample() { a = new Service(); } } The problem with that is that it initializes its own version … Read more

WPF/Silverlight – Prism – Resources for beginners

I’ve been creating Prism (Silverlight slant but most applies to WPF as well) resources: If you have 5 minutes: 10 Things to Know About Prism If you have 20 minutes: Prism Basics Video videos Intro to Silverlight Prism Testing/Module Catalog/Unity Regions (including Region Scope, Region Adapter and Region Context) Commanding (including creating new commands) Eventing … Read more

What is Prism for WPF?

Prism is the Microsoft Patterns and Practices Team official guidance for building “composite applications” in WPF and Silverlight. It’s intended to provide guidance on the best practices for building large scale applications which are flexible in terms of development and maintainability. This includes guidance on dependency injection (via Unity or MEF), layout (including using MVVM), … Read more