Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I think you are on the right track. The <strong>"model" is vague</strong> in a lot of cases <strong>because it is different things to other people</strong>, and rightly so.</p> <p>For <em>me</em>, my business <strong>objects that come back from my WCF service I consider my model</strong>. Because of this <strong>my projects don't have that pretty file structure with the holy trinity of namespaces:</strong> *.Models, *.ViewModels, and *.Views. I personally <strong>consider objects coming back from business logic</strong> or anything of that nature <strong>the "model"</strong>. </p> <p>Some <strong>people tend to lump both the business objects and the business logic together</strong> and call that the "Model", but <strong>I find that a little confusing</strong> because I picture a Model to be sort of more static than I do business logic, but <strong>it's semantics</strong>.</p> <p>So when you look at examples of MVVM projects and don't see anything very clearly "Model", it's just because folks treat them differently. Unless an application is very standalone, <strong>I would actually be very suspicious of an application with an actual *.Model namespace</strong>, to be honest.</p> <p>The other thing that is great here is that many times you already have an investment in these types of business objects and I think a lot of people see "MVVM" and immediately assume they need to start defining the "M", even though what they already have is perfectly fine.</p> <p>The confusion between a Model and a ViewModel is pretty common, too. Essentially <strong>I know I need a ViewModel if I need a combination of data and behavior</strong>. For example, I wouldn't expect INotifyPropertyChanged to be implemented on a Model, but I would a ViewModel.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload