model view controller ext4

13
Model –View- Controller Architecture - Pankaj Avhad

Upload: pankaj-avhad

Post on 21-Aug-2014

278 views

Category:

Engineering


3 download

DESCRIPTION

Model View Controller ext4

TRANSCRIPT

Page 1: Model View Controller  ext4

Model –View- Controller Architecture

- Pankaj Avhad

Page 2: Model View Controller  ext4

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

Page 3: Model View Controller  ext4

Flow Line of Concept

About MVC Model View Controller

Origin of MVC Working of MVC Point in MVC Conclusion Reference

Page 4: Model View Controller  ext4

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

Page 5: Model View Controller  ext4

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

Page 6: Model View Controller  ext4

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)

Page 7: Model View Controller  ext4

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

Page 8: Model View Controller  ext4

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

Page 9: Model View Controller  ext4

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)

Page 10: Model View Controller  ext4

Conclusion

MVC is a sound architectural design for almost any GUI application

Page 11: Model View Controller  ext4

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

Page 12: Model View Controller  ext4
Page 13: Model View Controller  ext4

Thank You