1 / 10

Model-View-Controller Architecture

Model-View-Controller Architecture. Hector Raphael Mojica. What is MVC?. Architectural design pattern which works to separate data and UI for a more cohesive and modularized system. What is MVC?. Model represents the data model “Manages behavior and data of the application domain”

skah
Download Presentation

Model-View-Controller Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Model-View-Controller Architecture Hector Raphael Mojica

  2. What is MVC? • Architectural design pattern which works to separate data and UI for a more cohesive and modularized system

  3. What is MVC? • Model represents the data model • “Manages behavior and data of the application domain” • View represents the screen(s) shown to the user • “Manages the graphical and/or textual output to the portion of the bitmapped display that is allocated to its application” • Controller represents interactions from the user that changes the data and the view • “Interprets the mouse and keyboard inputs from the user, commanding the model and/or the view to change as appropriate” (Burbeck)

  4. How did it come about? • Presented by Trygve Reenskaug in 1979 • First used in the Smalltalk-80 framework • Used in making Apple interfaces (Lisa and Macintosh)

  5. How does it work? • User inputs a command • Controller handles input and updates model or changes the view • View, which relies on model to show data to user, updates if necessary • Rinse and Repeat

  6. What is MVC?

  7. What’s the point? • Provides a logical structure for heavily interactive system • Adheres to good engineering design principles and practices • Information hiding, less coupling, simplicity, etc. • Delegated control style

  8. What’s the point? • Just plain easier (even if it doesn’t look it)! • Study shows that most introductory CS college students tend to clump a UI program into one big monolithic main class • Unfamiliarity stems from student tendency to program according to styles presented in textbooks and not being introduced to design principles early (Morse)

  9. Conclusion • MVC is a sound architectural design for almost any GUI application

  10. References • Wikipedia • Fox, Christopher. Introduction to Software Engineering Design. Boston: Pearson, 2006. • Burbeck, Steve. Applications Programming in Smalltalk-80(TM): How to use Model-View-Controller (MVC). http://st-www.cs.uiuc.edu/users/smarch/st-docs/mvc.html • Morse, Scot F. Introducing Application Design and Software Engineering Principles in Introductory CS Courses: Model-View-Controller Java Application Framework.

More Related