Current state of MVC architecture?

There seems to be a ton of possible MVC configurations / architectures (MVC, MVVM, MVP, HMVC, PAC, document-view ...). Is there a “best” or modern MVC architecture currently? What is the latest thinking? Or is it all free for everyone and / or just tied to the platform on which it is developing (for example, MVVM for WPF)?

(In particular, I'm interested in MVC used in desktop / rich-client applications.)

+7
java user-interface model-view-controller cocoa wpf
source share
2 answers

Not. . You will not get any agreement on what is currently the best architecture.

This, of course, is not MVC or MVP. These architectures arose in the late 70s and early 90s, respectively. MVP is an improvement on MVC, but in the twenty years since the creation of MVP, it has become clear that it suffers from many, many shortcomings. That is why there are so many new competing architectures.

The concepts of “model” and “view” are well accepted and, apparently, are common to all models of current architecture at present. The real question is how best to tie them together. You need something else in addition to the model and look, but what?

Most new architectures typically do this by referencing a view or linking directly to a model and “something else” using data binding, expressions, or similar mechanisms. Thus, anything in a model that can be tied directly to a view does not need to include “something else” at all.

My personal favorite is MVVM. I like the fact that the “look model” is conceptually a “model” with all aspects of any other model, except that it (usually) is never written to disk. In fact, if this were not confusing, “MVVM” could be renamed “MV”, since it would largely dispense with the need for anything other than representations and models. MVVM can be used not only with WPF, but also with any presentation infrastructure that has advanced data binding capabilities. Unfortunately, this excludes GWT and Cocoa. I also like MVVM because it completely eliminates redundant or duplicate code.

MVVM is not the only advanced player in the city. Aspect-oriented approaches and team architectures built on traditional models and views also share similar aspirations.

The bottom line is that this is still an actively explored area , and no consensus has been reached at this time. MVVM is the most popular of the new architectures, but not the only one. The jury is still not working.

Note. . To get an idea of ​​how new architectures are improving over MVC and MVP, see this Cocoa vs. WPF comparison starting with the Repeating Code heading and ending with the end of the Command Architecture section.

+6
source share

The latest architectural research these days for Thick Clients is done by Google. with MVP architecture.

Check out the GWT articles on MVP
http://code.google.com/webtoolkit/articles/mvp-architecture.html
http://code.google.com/webtoolkit/articles/mvp-architecture-2.html

Also look at http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/8b0ae5eaf84d8bc2?hide_quotes=no

Also check out this YouTube video http://www.youtube.com/watch?v=PDuhR18-EdM

As for the answer to your question, besides the fact that MVC is partly outdated, I think it is very subjective which way to go. It is platform independent, except that the Framework you choose can dictate the architecture :(

+3
source share

All Articles