MVC is screen part of Model or View?

Posted on 2014-02-16
Medium Priority
Last Modified: 2014-02-18

"Screen" sounds like it should be a part of the Model, as it's a physical tangible thingy. And the Screen display sounds like data, (the state of the pixels on the screen, (a screen has pixels,)) and doesn't data go in the Model?

Or, is "Screen" supposed to be a part of the View?
Question by:deleyd
LVL 86

Assisted Solution

jkr earned 400 total points
ID: 39863030
If you refer to the scren as where you are reading data, that's part of the view - see e.g. the graphics at http://en.wikipedia.org/wiki/Model-view-controller

What exactly do you mean by "screen"?
LVL 29

Accepted Solution

pepr earned 1600 total points
ID: 39864184
Always, when you think too much about any word, you start to ask questions that are kind of strange. Generally, the MVC pattern purpose is to separate internal program structure for getting the independence (i.e. losely coupled interfaces between the parts).

The Model should always be the part that does not depen on anything visible outside. Think about having the application, that can be executed without GUI, running automatically. Every input is captured in config data or it can be obtained automatically from somewhere. Think also in terms that you want to test the core functionality of your application automatically. It is very difficult when you add GUI as a user-behaviour dependent part -- the testing cannot be automated easily.

The View is about interpreting the content of the model. It can be displayed on the screen, exported to some file format, or only a part of the model data can be extracted to get simplified view, etc.

The Controler is the most complicated when speaking about GUI. Some parts of the controler are bound to GUI, some parts are not -- it depends on the solved problem. Touching a screen does not mean here to use the visibility of data (that is the part of View interpretation). It means only that some GUI elements have a different purpose -- to control the behaviour of the application, to get the *input* from the user.

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Introduction Many of the most common information processing tasks require sorting data sets.  For example, you may want to find the largest or smallest value in a collection.  Or you may want to order the data set in numeric or alphabetical order. …
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relat…

624 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question