SlideShare a Scribd company logo
1 of 13
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 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
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

More Related Content

What's hot

Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1
stanbridge
 

What's hot (18)

Architectural Design & Patterns
Architectural Design&PatternsArchitectural Design&Patterns
Architectural Design & Patterns
 
Intro ASP MVC
Intro ASP MVCIntro ASP MVC
Intro ASP MVC
 
Very basic of asp.net mvc with c#
Very basic of asp.net mvc with c#Very basic of asp.net mvc with c#
Very basic of asp.net mvc with c#
 
MVC
MVCMVC
MVC
 
Acrhitecture deisign pattern_MVC_MVP_MVVM
Acrhitecture deisign pattern_MVC_MVP_MVVMAcrhitecture deisign pattern_MVC_MVP_MVVM
Acrhitecture deisign pattern_MVC_MVP_MVVM
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVC
 
Architecture logicielle #4 : mvc
Architecture logicielle #4 : mvcArchitecture logicielle #4 : mvc
Architecture logicielle #4 : mvc
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Just a View: An Introduction To Model-View-Controller Pattern
Just a View:  An Introduction To Model-View-Controller PatternJust a View:  An Introduction To Model-View-Controller Pattern
Just a View: An Introduction To Model-View-Controller Pattern
 
Design pattern
Design patternDesign pattern
Design pattern
 
MVVM Presentation
MVVM PresentationMVVM Presentation
MVVM Presentation
 
Software Design Patterns
Software Design PatternsSoftware Design Patterns
Software Design Patterns
 
Ui design patterns
Ui design patternsUi design patterns
Ui design patterns
 
MVP in Android by Ratanak
MVP in Android by RatanakMVP in Android by Ratanak
MVP in Android by Ratanak
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
IntroductionToMVC
IntroductionToMVCIntroductionToMVC
IntroductionToMVC
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1
 
Systems Archticture
Systems ArchtictureSystems Archticture
Systems Archticture
 

Similar to Model View Controller ext4

Mvc 130330091359-phpapp01
Mvc 130330091359-phpapp01Mvc 130330091359-phpapp01
Mvc 130330091359-phpapp01
Jennie Gajjar
 
Model viewcontrolle
Model viewcontrolleModel viewcontrolle
Model viewcontrolle
Kinjal Gor
 

Similar to Model View Controller ext4 (20)

Ppt of Basic MVC Structure
Ppt of Basic MVC StructurePpt of Basic MVC Structure
Ppt of Basic MVC Structure
 
What Are The Benefits Of Using MVC Framework In ASP.NET Development.pptx
What Are The Benefits Of Using MVC Framework In ASP.NET Development.pptxWhat Are The Benefits Of Using MVC Framework In ASP.NET Development.pptx
What Are The Benefits Of Using MVC Framework In ASP.NET Development.pptx
 
What Are The Benefits Of Using MVC Framework In ASP.NET Development.pptx
What Are The Benefits Of Using MVC Framework In ASP.NET Development.pptxWhat Are The Benefits Of Using MVC Framework In ASP.NET Development.pptx
What Are The Benefits Of Using MVC Framework In ASP.NET Development.pptx
 
Mvc 130330091359-phpapp01
Mvc 130330091359-phpapp01Mvc 130330091359-phpapp01
Mvc 130330091359-phpapp01
 
Mvc
MvcMvc
Mvc
 
MVC.pptx
MVC.pptxMVC.pptx
MVC.pptx
 
Model View Controller (MVC)
Model View Controller (MVC)Model View Controller (MVC)
Model View Controller (MVC)
 
Ios models
Ios modelsIos models
Ios models
 
MVC
MVCMVC
MVC
 
Mvc Architecture in a web based application
Mvc Architecture in a web based applicationMvc Architecture in a web based application
Mvc Architecture in a web based application
 
MVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,MobileMVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,Mobile
 
Persentation
PersentationPersentation
Persentation
 
Verbal+Visual: MVC Structure. Model, View, Controller.
Verbal+Visual: MVC Structure.  Model, View, Controller.Verbal+Visual: MVC Structure.  Model, View, Controller.
Verbal+Visual: MVC Structure. Model, View, Controller.
 
Mvc vs mvp vs mvvm a guide on architecture presentation patterns
Mvc vs mvp vs mvvm  a guide on architecture presentation patternsMvc vs mvp vs mvvm  a guide on architecture presentation patterns
Mvc vs mvp vs mvvm a guide on architecture presentation patterns
 
Model viewcontrolle
Model viewcontrolleModel viewcontrolle
Model viewcontrolle
 
MVC
MVCMVC
MVC
 
MVC Architecture
MVC ArchitectureMVC Architecture
MVC Architecture
 
Avigma Tech LLC- Why the MVC pattern so popular?
Avigma Tech LLC- Why the MVC pattern so popular?Avigma Tech LLC- Why the MVC pattern so popular?
Avigma Tech LLC- Why the MVC pattern so popular?
 
Why MVC?
Why MVC?Why MVC?
Why MVC?
 
mvc development company in UK.
mvc development company in UK.mvc development company in UK.
mvc development company in UK.
 

Recently uploaded

DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
MayuraD1
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
jaanualu31
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
mphochane1998
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 

Recently uploaded (20)

A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
Rums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdfRums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdf
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to Computers
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal load
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 

Model View Controller ext4

  • 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.