

MVC Family Tree - givanse
http://mvc.givan.se/

======
sivanmz
One persistent source of ambiguity is the arrow from the controller to the
view. I've seen so many implementations that take this to mean that in
response to a user action the controller modifies the model and updates the
view, rather than letting the view observe the model.

My understanding of that arrow is that the controller may send messages to the
view.

~~~
fnayr
I think there's different approaches. Apple, for instance, approaches MVC that
way (controller updating the view, with the view having no knowledge of the
model).

~~~
givanse
Right, there are different ways of doing it. In general, an arrow/line between
Controller and View is better understood as "there is some type of
communication"; then, different variations of the same design will use
different forms of communication (observers, data binding, the controller
references the view, the view references the controller etc).

------
msane
The "significant" list is a bit biased. Also Struts but no Spring?

~~~
givanse
From what I gathered, Struts was very influential. Many people have it as its
main reference. (Rails for example)

I don't know much about Spring. I know is very popular in the Java community,
but I don't think it brought much to the MVC ecosystem.

It seems like it was built as a more developer friendly framework, but at its
core it still is good old J2EE. Same patterns, MVC style etc. right?

------
poseid
interesting graph. would be interesting to see what part of MVC is related to
system software vs. web MVC

~~~
givanse
What do you mean with "system software"?

One of the main differences between Client/Browser MVC and Server MVC is
application state. In the browser you have state. In the server, since HTTP is
stateless the server app too. Probably a good topic for an article of its own.

