title: (MVVM) View Model per View or per Model?
body: <p>:)</p>
  
  <p>I’ve watched and read lots of MVVM materials during the past few weeks and there seems to be a major difference which everybody does in one way or another but doesn’t elaborate upon. Do we create a ViewModel per View or per Model?</p>
  
  <p>There’s a question for it, but I don’t think its <a href="https://stackoverflow.com/a/9413654/11432255">answered</a> thoroughly. So..</p>
  
  <p>Let’s use a Recipes app for example where we have three different views: RecipesViewController, RecipeViewController and RecipeCell. I think that the correct way to implement MVVM is to create one ViewModel per view instead of creating a RecipeModel and sharing it across them. </p>
  
  <p>This example may be basic enough and we may prefer one ViewModel, but it’s not correct, is it? And if both are acceptable, can someone explain the differences, drawbacks &amp; benefits? And if we have a networking layer, only the ViewModel should communicate with it, right?</p>
  
  <p>Thank you.</p>