title: Should I reuse view models in different views?
body: <p>I noticed that I have views that need the same information like others. But sometimes you need 5 properties of the view model and sometimes only 2. </p>
  
  <p>Do you <strong>share</strong> such view model over many views or do you create a <strong>separate</strong> view model for each view or maybe do you prefere an <strong>inheritance</strong> or <strong>composition</strong> strategy?</p>
  
  <p>For me there are some disadvantages for sharing view models:</p>
  
  <ol>
  <li>Principle of Least Surprise: It is strange to fill only 2 properties of 5 of a view model and get null reference exception, because you don't want to query additional data of the database. When the view model has 5 properties I expect that all are filled. The exceptions prove the rule.</li>
  <li>Separation of Concerns/Single Responsibility Principle: The view model cluttered up on complex sites, because you have to suit different needs for each view. If logic is involved its getting more complex, too.</li>
  </ol>
  
  <p>What do you think? How do you handle such circumstances?</p>