Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Well, basically: <a href="http://en.wikipedia.org/wiki/Separation_of_concerns" rel="nofollow noreferrer">separation of concerns</a> on the usage level, not the physical level.</p> <p>Quoting <a href="http://martinfowler.com/eaaCatalog/modelViewController.html" rel="nofollow noreferrer">PoEAA on MVC</a></p> <blockquote> <p>MVC splits user interface interaction into three distinct roles.</p> </blockquote> <p>With MVC , you are separating presentation (V, C) from the domain logic (M) and you also separate UI behavior (C) from UI display (V). This is much more maintainable than intermingling all three concerns into one and it also fosters reuse and testing. It allows you to better tackle complexity.</p> <p>This is nothing that just applies to Web Applications. It is suitable for any applications with domain logic and a UI. With that said, I wouldn't say MVC is the <em>best-suited</em> pattern for a web app though. If all you wanna do is put, say, a Contact Form on the web, then an all-in-one-page script would be sufficient. If you only got a bunch of static pages, MVC is overkill too. So like with any patterns, it depends on the problem you want to solve.</p> <p>As for the n-tier, the "classic" MVC did not foresee it's use on the Web. With the presentation of the UI happening in the browser and the controller on a remote server, MVC on the web is always also a Multi-Tier architecture, hence the difference between usecase and physical in the beginning. MVC is just not concerned where it happens.</p> <p>Also see:</p> <ul> <li><a href="https://stackoverflow.com/questions/26685/what-is-mvc-and-what-are-the-advantages-of-it">What is MVC and what are the advantages of it?</a></li> <li><a href="http://social.msdn.microsoft.com/Forums/en-US/architecturegeneral/thread/97562908-f75b-4afb-9906-91a6b19a28bb" rel="nofollow noreferrer">MVC VS N-Tiers</a></li> </ul>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload