Model View Controller  ext4
Upcoming SlideShare
Loading in...5

Like this? Share it with your network


Model View Controller ext4



Model View Controller ext4

Model View Controller ext4



Total Views
Views on SlideShare
Embed Views



1 Embed 1 1


Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Model View Controller ext4 Presentation Transcript

  • 1. Model –View- Controller Architecture - Pankaj Avhad
  • 2. About Presenter  Have 7 years of experience  Technical lead at Synerzip  Previous Experience at  Software Engineer / UI developer at PubMatic  Senior Software Developer at MobiPrimo Technologies  Consultant at Saba  Software Developer at Eknotel  Krawler Platform Engineer at Krawler
  • 3. Flow Line of Concept  About MVC  Model  View  Controller  Origin of MVC  Working of MVC  Point in MVC  Conclusion  Reference
  • 4. About MVC  Architectural design pattern which works to separate data and user interface (UI) for a more cohesive and modularized system.  It is widely adopted pattern in many languages and implementation frameworks, whose purpose is to achieve clean separation between three components of most any web application.  Model: Business and logic processing  View : User interface (UI)  Controller : Navigation and input
  • 5. About MVC Model • Encapsulates application state • Respond to state queries • Express application functionality • Notify views of changes Controller • Defines application behavior • Maps user action to model update • Selects view of response • One for each functionality View • Renders the models • Requests update from model • Sends user gesture to controller • Allows controller to select view View selection User Gestures Method of invocations Events State change Update
  • 6. Model, View and Controller  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)
  • 7. Origin and Benefits of MVC  Origin  Presented by Trygve Reenskaug in 1979  First used in the Smalltalk-80 framework  Used in making Apple interfaces (Lisa and Macintosh)  Benefits  Separation of concerns in the codebase  Developer specialization and focus  Parallel development by separate teams
  • 8. Working of MVC  User interacts with View  Controller handles input and updates model or changes the view  View, which relies on model to show data to user, get updated if necessary via controller  Rinse and Repeat
  • 9. 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  Just plain easier (even if it doesn’t look it)!  Study shows that most web developers tend to clump a UI program into one big monolithic main class or a single messy javascript file.  Unfamiliarity stems from student tendency to program according to styles presented in textbooks and not being introduced to design principles early (Morse)
  • 10. Conclusion  MVC is a sound architectural design for almost any GUI application
  • 11. Reference  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).
  • 12. Thank You