title: I'm confused, what is the TRUE way to build an MVC or MVVM design pattern?
body: <p>So I've been looking up more tutorials and articles about the MVC design pattern to deepen my understanding of them and I'm starting to doubt if I have been doing it all wrong. So yeah the goal of those patterns are to make code reusable and to minimize repeated code, correct?</p>
  
  <p>I've been seeing various ways of how those design patterns are explained which are confusing me a bit. In the past I thought it was the controller-as-a-mediator-between-model-and-view way, but now I'm learning that that was wrong and that the view is actually much more than just a template. Then I also read somewhere (I think here) that in a true MVC pattern, there is by definition only one model and all the other "models" are just different facets of the single model. Is this the case? Is this the best way to separate code and make it reusable? How would that look like in code? And again somewhere else I read that for web-applications it is better to stick to the MVVM pattern.</p>
  
  <p>So now I'm a bit confused. What IS the most effective pattern to separate concerns in a web-application and make the code reusable? I would prefer to not only see a description of this pattern, but also a short example in code so I understand it better.</p>