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

Like this? Share it with your network

Share

Model View Controller ext4

on

  • 371 views

Model View Controller ext4

Model View Controller ext4

Statistics

Views

Total Views
371
Views on SlideShare
370
Embed Views
1

Actions

Likes
1
Downloads
10
Comments
0

1 Embed 1

http://www.slideee.com 1

Accessibility

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.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
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