views:

921

answers:

3

I'm sure this is a Noob question, but I've never worked with WPF before. Is MVVM an alternative to Expression Blend?

+3  A: 

No; MVVM is a design pattern while Expression Blend is a program. See:

http://en.wikipedia.org/wiki/MVVM http://en.wikipedia.org/wiki/Expression%5FBlend http://www.google.com/

Blend actually creates code that can be used as MVVM

Robert Fraser
that link to google.com was very helpful... thanks!
spoon16
+5  A: 

No. They are completely different concepts.

Expression Blend is software for creating interfaces - it's a designer's tool for working with WPF.

MVVM is a design pattern - it's an architecture you can use to make your WPF application clean and easily maintainable.

You are perfectly capable of using Blend together with MVVM - in fact, this is one of the benefits MVVM provides (it makes it very easy to keep the UI design separate from the programming).

Reed Copsey
Thanks Reed. I did look at the Wiki for it, but as a beginner a lot of the information was over my head. Thanks for being succinct
JimDel
+2  A: 

No, not at all. In fact, MVVM is supposed to be a way to help a designer using Expression Blend work with the developer writing the functionality. The idea is that MVVM provides better separation between the View and the ViewModel. This gives you some advantages:

  • You can replace the real ViewModel with a mock ViewModel (XML based, perhaps) which allows the designer to have some data to play with inside of Blend.
  • You can write unit tests for your ViewModel which (hopefully) includes all your functionality. The unit test becomes another consumer of your ViewModel, just as the View is.
Scott Whitlock