The model is defined first, then the controllers are fired based on the user request, and they will generate the views (the output).

So it should be M->C->V, right?

closed as not constructive by Joel Etherton, back2dos, World Engineer, user7007, Adam Lear Feb 26 '12 at 2:34

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 3
    Agreed, I've always found this a little puzzling when I first heard about MVC. – Kevin Wang Feb 26 '12 at 0:38
  • 2
    maybe it's in order of importance: Model is the most important, View is how the end-user sees the model and Controller just binds the 2 toghether – ratchet freak Feb 26 '12 at 0:48
  • I guess MVC sounds nicer than MCV – user Feb 26 '12 at 5:10

Because that's how the originator of the term ordered it.

"MVC was first described in 1979[3] by Trygve Reenskaug, then working on Smalltalk at Xerox PARC."



Maybe it comes down to dependancies and usage? Each item on the right knows about or uses the item on the left. Controller knows about views and models. Views know about Models. Models just know about themselves. So hence the naming convention MVC. Just my thoughts.

  • 3
    It could also be, you know, just because. – Kevin Wang Feb 26 '12 at 0:42
  • @KevinWang "Ours is not to question why. Ours is but to do and try"... – dreza Feb 26 '12 at 0:55

Yes this should be MCV but many acronyms are made in wrong order just because they sound better that way.

AmVeeSee  (more fluent) 
AmSeeVee  (less fluent) 

Not the answer you're looking for? Browse other questions tagged or ask your own question.