What is MVC, really?
- by NickC
As a serious programmer, how do you answer the question What is MVC?
In my mind, MVC is sort of a nebulous topic — and because of that, if your audience is a learner, then you're free to describe it in general terms that are unlikely to be controversial.
However, if you are speaking to a knowledgeable audience, especially an interviewer, I have a hard time thinking of a direction to take that doesn't risk a reaction of "well that's not right!...". We all have different real-world experience, and I haven't truly met the same MVC implementation pattern twice.
Specifically, there seem to be disagreements regarding strictness, component definition, separation of parts (what piece fits where), etc.
So, how should I explain MVC in a way that is correct, concise, and uncontroversial?