Model –View- Controller
Architecture
- Pankaj Avhad
About Presenter
 Have 7 years of experience
 Technical lead at Synerzip
 Previous Experience at
 Software Engineer / U...
Flow Line of Concept
 About MVC
 Model
 View
 Controller
 Origin of MVC
 Working of MVC
 Point in MVC
 Conclusion
...
About MVC
 Architectural design pattern which works to separate data and user
interface (UI) for a more cohesive and modu...
About MVC
Model
• Encapsulates application state
• Respond to state queries
• Express application functionality
• Notify v...
Model, View and Controller
 Model represents the data model
 “Manages behavior and data of the application domain”
 Vie...
Origin and Benefits of MVC
 Origin
 Presented by Trygve Reenskaug in 1979
 First used in the Smalltalk-80 framework
 U...
Working of MVC
 User interacts with View
 Controller handles input and updates model or changes the view
 View, which r...
Point
 Provides a logical structure for heavily interactive system
 Adheres to good engineering design principles and pr...
Conclusion
 MVC is a sound architectural design for almost any GUI application
Reference
 Wikipedia
 Fox, Christopher. Introduction to Software Engineering Design. Boston:
Pearson, 2006.
 Burbeck, S...
Thank You
Model View Controller  ext4
Upcoming SlideShare
Loading in …5
×

Model View Controller ext4

882 views

Published on

Model View Controller ext4

Published in: Engineering, Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
882
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
19
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Model View Controller ext4

  1. 1. Model –View- Controller Architecture - Pankaj Avhad
  2. 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. 3. Flow Line of Concept  About MVC  Model  View  Controller  Origin of MVC  Working of MVC  Point in MVC  Conclusion  Reference
  4. 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. 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. 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. 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. 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. 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. 10. Conclusion  MVC is a sound architectural design for almost any GUI application
  11. 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. 12. Thank You

×