Upload
pankaj-avhad
View
278
Download
3
Embed Size (px)
DESCRIPTION
Model View Controller ext4
Citation preview
Model –View- Controller Architecture
- Pankaj Avhad
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
Flow Line of Concept
About MVC Model View Controller
Origin of MVC Working of MVC Point in MVC Conclusion Reference
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
About MVCModel
• 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
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)
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
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
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)
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, Steve. Applications Programming in Smalltalk-80(TM): How to
use Model-View-Controller (MVC).
Thank You