MVC: Model View Controller: An Introduction: Software Architectural Pattern
MVC:
Model View Controller - An
Introduction:
Software Design Patterns. A short, engaging animated video to give you an overview of MVC which was one of the first approaches to describe software constructs in terms of their responsibilities.
Definition:
Model–view–controller (MVC) is a software architectural pattern for implementing user interfaces. It divides a given software application into three interconnected parts, so as to separate internal representations of information from the ways that information is presented to or accepted from the user.
MVC was one of the seminal insights in the early development of graphical user interfaces, and one of the first approaches to describe and implement software cnstructs in terms of their responsibilities.
Trygve Reenskaug introduced MVC into Smalltalk-76 while visiting
Xerox Parc in the
1970s. In the 1980s, Jim Althoff and others implemented a version of MVC for the Smalltalk-80 class library. It was only later, in a
1988 article in
The Journal of Object Technology, that MVC was expressed as a general concept.
Acknowledgements:
http://www.dailymail.co.uk/news/article-2402628/The-Good-Bad-Dusty-Eerie-pictures-film-sets-used-famous-westerns-lying-abandoned-ruined-Spanish-desert
.html
https://www.youtube.com/watch?v=P5YBLJd2Jco
https://www.youtube.com/watch?v=kZJMEHFsCRA
http://en.wikipedia.org/wiki/Model–view–controller
http://code.tutsplus.com/tutorials/mvc-for-noobs--net-10488
Udacity free course :
Intro to iOS App
Development with
Swift (by
Kunal Chawla)
www.openclipart.org
www.sparkol.com
Script:
Let’s assume we are developing a simple App.
The App firstly allows us to record our voice:
Goodbye Mr. Bond
And it then plays back the voice in different avatars:
Goodbye Mr. Bond (2)
While simple in functionality, there are quite a few things going on, under the hood.
Our app firstly needs buttons, images and perhaps titles.
It needs to store audio files.
Finally, it needs to play the correct audio file when buttons are clicked.
I am now going to categorise these points into 3 BUCKETS.
The labels, buttons and text are all a very visible part of the app.
So lets put them under the
VIEW heading.
Then we have the audio files or the data. I will put these under the
DATA or
MODEL heading.
And finally, we have the interactions between the VIEW and the MODEL when buttons are clicked.
I will put these under the CONTROLLER heading.
Another good analogy of this pattern can be taken from the world of movies.
You can think of the VIEW as the actors in a movie.
Actors are the most visible part of the film.
A controller is like a director who manages activities on a set, including the actors.
And finally you can think of the MODEL as the backstage area where the sets and other items used in the film are stored.
So what you are seeing here is a high level overview of a design pattern called the Model View Controller or MVC for short which is used to
create apps among other things.
By spreading functionality across these 3 objects developers achieve cleaner and more reusable solutions.
So guys, this brings us to the end of the session. I have put up additional reading material in the video description so do check it out.
As always, send us your comments and help us make smarter videos.
Take it easy and bye for now.
Tools Used:
Microphone :
Samson Meteor
Voice Editor :
Audacity
Animation : Sparkol
Video scribe
Illustrations: funza
Academy + openclipart.org
Video editor +
SFX : iMovie
Individuals involved in Video:
Sanjay Noronha, Preeti Kaul