I don\'t think I understand the MVVM pattern properly because having a Model and ViewModel class seems redundant to me.
My understanding of the Model is to basicall
To try and make this a more tangible answer , lets look at an example. You want to have the same old "calculator" example in a nice shinny WPF program.
Instead of jumping in and writing everything in the view model, you remember that you actually wrote this ages ago for a different project, and you actually were smart enough to have all the calculator functionality in a separate (and reusable) dll.
So, you got your model.
Now all that's left is your GUI. You draw a nice shiny window in WPF (View) , and then you need to bridge your calls and data from the dll to the view. You guessed right ... this is your ViewModel :).
On another note, the idea is to be able to work on a big team where some people work on the logic (model), some designers work on the view, and someone else (can be any of the above ofcourse) can get the bits working together with the view models.