CSC/ECE 517 Fall 2007/wiki2 3 bp: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 15: Line 15:


=== quick overviews ===
=== quick overviews ===
These sites provide a 5 minute overview of the basic concept of Model-View-Controller.


=== in depth overviews ===
http://www.mercurytide.co.uk/whitepapers/separating-structure-presentation-and-behaviour/
 
Starting approximately 1/3 of the way down the page, this website gives the classic definitions of model, view, and controller. In addition, it provides a short discussion on the advantages of the MVC approach. Finally, it provides a short example of how to separate a web page into the view (done in xhtml) and the controller (done in javascript). This example is not fully fleshed out and thus not paticularly useful as a starting point for someone implementing MVC on their own, but it provides a good demonstration of what sort of things belong in the controller and which belong in the view. This lends a certain concreteness to the concepts described in the MVC definition section of the page.
http://java.sun.com/blueprints/patterns/MVC.html
 
http://java.sun.com/blueprints/patterns/MVC-detailed.html
 
http://www.dracoware.com/blog/2006/06/21/an-introduction-to-model-view-controller/


http://www.mercurytide.co.uk/whitepapers/separating-structure-presentation-and-behaviour/


http://struts.javabeat.net/tutorials/
http://struts.javabeat.net/tutorials/
This website provides a very short overview of MVC by defining model, view, and controller.  It is a somewhat Struts centric, however the definitions are general to MVC as a whole.  The bottom of the page contains a useful diagram of the MVC components.  Although this diagram is labeled in terms of Struts components, it is useful and easily comprehended even by a user who is not implementing the MVC pattern using Struts.  (See the Implementing MVC in Java section for web pages which discuss Struts in depth).


http://en.wikipedia.org/wiki/Model-view-controller
http://en.wikipedia.org/wiki/Model-view-controller
Line 64: Line 60:
== example sites ==
== example sites ==
examples of when to use mvc/how to use the parts
examples of when to use mvc/how to use the parts
http://java.sun.com/blueprints/patterns/MVC.html
http://java.sun.com/blueprints/patterns/MVC-detailed.html


http://www.informit.com/guides/content.aspx?g=java&seqNum=117
http://www.informit.com/guides/content.aspx?g=java&seqNum=117
Line 85: Line 85:


http://www.onlamp.com/pub/a/onlamp/2006/12/14/revisiting-ruby-on-rails-revisited.html
http://www.onlamp.com/pub/a/onlamp/2006/12/14/revisiting-ruby-on-rails-revisited.html


http://www.devarticles.com/c/a/Ruby-on-Rails/Getting-Started-with-Ruby-on-Rails/2/
http://www.devarticles.com/c/a/Ruby-on-Rails/Getting-Started-with-Ruby-on-Rails/2/

Revision as of 05:11, 21 October 2007

Model-View-Controller Review of Resources

Written by Ben Parees

quick overview of mvc

The Model-View-Controller pattern, referred to as MVC in most literature, is a way of structuring code to achieve separation of concerns. In this case, the three concerns are managing the physical data, representing the data to the user, and tying the representation of the data to the physical data in such a way that it can be manipulated by the user. These three concerns are managed by:

  • the model, which handles the physical data storage and retrieval
  • the view, which handles the graphical display of the data to the user
  • the controller, which maps user input on the view into manipulation of the physical data in the model
  • The rest of this page provides links to websites which provide more in depth information describing MVC, examples of its usage, and specific tutorials for using MVC in Java and Ruby, along with reviews of those sites.

    introductory sites

    quick overviews

    These sites provide a 5 minute overview of the basic concept of Model-View-Controller.

    http://www.mercurytide.co.uk/whitepapers/separating-structure-presentation-and-behaviour/ Starting approximately 1/3 of the way down the page, this website gives the classic definitions of model, view, and controller. In addition, it provides a short discussion on the advantages of the MVC approach. Finally, it provides a short example of how to separate a web page into the view (done in xhtml) and the controller (done in javascript). This example is not fully fleshed out and thus not paticularly useful as a starting point for someone implementing MVC on their own, but it provides a good demonstration of what sort of things belong in the controller and which belong in the view. This lends a certain concreteness to the concepts described in the MVC definition section of the page.


    http://struts.javabeat.net/tutorials/ This website provides a very short overview of MVC by defining model, view, and controller. It is a somewhat Struts centric, however the definitions are general to MVC as a whole. The bottom of the page contains a useful diagram of the MVC components. Although this diagram is labeled in terms of Struts components, it is useful and easily comprehended even by a user who is not implementing the MVC pattern using Struts. (See the Implementing MVC in Java section for web pages which discuss Struts in depth).

    http://en.wikipedia.org/wiki/Model-view-controller

    http://hubpages.com/hub/MVC

    http://doc.trolltech.com/4.3/model-view-introduction.html

    http://www.indiawebdevelopers.com/technology/java/mvcarchitecture.asp

    http://www.perlmonks.org/?node_id=402070

    http://msdn2.microsoft.com/en-us/library/ms978748.aspx

    http://developer.apple.com/documentation/Cocoa/Conceptual/ObjCTutorial/chapter02/chapter_2_section_3.html

    http://www.adobe.com/devnet/flash/articles/mv_controller/as2ess_ch18.pdf

    http://www.mobilefish.com/popupwindow/mvc_song.html

    http://www.mobilefish.com/tutorials/mvc/mvc.html

    http://ootips.org/mvc-pattern.html

    http://c2.com/cgi/wiki?ModelViewController

    http://www.themolehill.com/index.php/2006/07/29/beginners-guide-model-view-controller-mvc-architecture/

    http://www.practicalecommerce.com/blogs/developers-diary/archives/92

    http://best-practice-software-engineering.ifs.tuwien.ac.at/patterns/mvc.html

    http://slash7.com/articles/2005/2/22/mvc-the-most-vexing-conundrum

    http://orderedlist.com/articles/rails-and-mvc

    example sites

    examples of when to use mvc/how to use the parts

    http://java.sun.com/blueprints/patterns/MVC.html

    http://java.sun.com/blueprints/patterns/MVC-detailed.html

    http://www.informit.com/guides/content.aspx?g=java&seqNum=117

    http://www.codersource.net/aspnet_model_view_controller_sample.html

    https://users.cs.jmu.edu/bernstdh/web/common/lectures/slides_model-view-controller_pattern.php

    http://www.articlegold.com/Article/Simple-J2EE-Model-View-Controller-Type-II-Framework/6091

    http://www.enode.com/x/markup/tutorial/mvc.html

    http://www.csis.pace.edu/~bergin/mvc/mvcgui.html

    http://www.developer.com/java/ent/article.php/3336761

    http://www.slideshare.net/codeinmotion/mvc-demystified-essence-of-ruby-on-rails

    how to build an mvc application

    mvc in ruby - rails

    http://www.onlamp.com/pub/a/onlamp/2006/12/14/revisiting-ruby-on-rails-revisited.html


    http://www.devarticles.com/c/a/Ruby-on-Rails/Getting-Started-with-Ruby-on-Rails/2/

    http://www-128.ibm.com/developerworks/linux/library/l-rubyrails/

    http://www.webmonkey.com/05/28/index4a.html

    http://rails.homelinux.org/

    http://instantrails.rubyforge.org/wiki/wiki.pl

    http://www.sitepoint.com/article/ruby-on-rails

    mvc in java - general

    http://www.oracle.com/technology/sample_code/tech/java/jsps/ojsp/mvc.html

    http://javadude.com/articles/vaddmvc2/mvc2.html

    http://www.leepoint.net/notes-java/GUI/structure/40mvc.html

    http://www.javaworld.com/javaworld/jw-12-1999/jw-12-ssj-jspmvc.html

    http://www.uta.fi/~jl/pguibook/mvc.html

    http://www.csis.pace.edu/~bergin/papers/ModelViewController.html

    mvc in java - struts

    http://www.ibm.com/developerworks/web/library/j-struts/

    http://www.theserverside.com/tt/articles/content/StrutsFastTrack/StrutsFastTrack.pdf

    http://struts.apache.org/1.x/userGuide/introduction.html

    http://struts.javabeat.net/tutorials/1-introduction-to-the-apache-struts.php

    http://www.roseindia.net/struts/strutsguide.shtml


    additional references

    Model/view/controller. There are literally hundreds of pages describing MVC on the Web. If someone wants to learn about it, what should (s)he do? Look at the first few hits in Google? I expect we can do better than that. Write a review of the MVC sites on the Web. Which are best for learning about the concept? Which have the most instructive examples? Which are best for explaining how to use the pattern in Ruby and Java? If you choose this topic, you should be sure to peruse at least several dozen sites.