Sorry if this is a duplicate, so this is not so much 'what is MVVM', but rather, 'this is MVVM', I have read a lot, and I think that what is this is my basic understanding of, A 'liner' has been found, as I explain it, but to make sure it is before I strongly put it in my head,
basically; Model is pure data - there is no way, per model is a view model, it holds a reference to the model - this model makes all the changes in the data and finally the visual one (or more) visual model reference (s) and format Will hold & amp; Display the data provided by ViewModel.
(After the link to tutorials, blogs, only a yes or no change will be made, because I will not have to re-read :) :)
Completely - at least, as I do not fully define it.
Models should not be pure data Model is the part of your application that is fully domain specific, and does not contain "presentation related" information.
This will typically include all domain-specific data, but potential methods that are pure business logic, and data access, etc. Anything specific for business logic and processes, and not part of "display", is part of the model.
In addition to this, however, "See a model per model", usually the time to work, sometimes you can expose the "model" class through more than one visual models. For example, if you are trying to expose only a part of a model to your designer, because it allows you to create a small viewclass class. Appearance models to work with ViewModel view - If the whole model is not required, then this adapter can be made small (more easily tested, maintained, etc.) by working with only the necessary part.
Personally, I like to think in terms of "one view model per view", because View MODEL can adapt one or more models to work properly with a given view. But, even then, sometimes it is useful to swap a view model to see how to change the content.