TuVinhSoft - Software Development Company from Vietnam provides Offshore software development, Software Outsourcing, Staff augmentation, Application Software Development, Web Design and Development, Business Process Outsourcing, Search Engine Optimization to USA, UK, Japan etc.
MVC Design Pattern
Model-view-controller
Model-view-controller (MVC) is an architectural pattern used in software engineering. In complex computer applications that present a large amount of data to the user, a developer often wishes to separate data (model) and user interface (View) concerns, so that changes to the user interface will not affect data handling, and that the data can be reorganized without changing the user interface. The model-view-controller solves this problem by decoupling data access and business logic from data presentation and user interaction, by introducing an intermediate component: the controller.
Pattern description
It is common to split an application into separate layers: presentation (UI), domain, and data access. In MVC the presentation layer is further separated into view and controller. MVC encompasses more of the architecture of an application than is typical for a design pattern.
Model
The domain-specific representation of the information on which the application operates. It is a common misconception that the model is another name for the domain layer. Domain logic adds meaning to raw data (e.g., calculating if today is the user’s birthday, or the totals, taxes and shipping charges for shopping cart items).
Many applications use a persistent storage mechanism (such as a database) to store data. MVC does not specifically mention the data access layer because it is understood to be underneath or encapsulated by the Model.
View
Renders the model into a form suitable for interaction, typically a user interface element.
Controller
Processes and responds to events, typically user actions, and may invoke changes on the model.
MVC is often seen in web applications, where the view is the actual HTML page, and the controller is the code which gathers dynamic data and generates the content within the HTML. Finally the model is represented by the actual content, usually stored in a database or XML files.
Though MVC comes in different flavors, control flow generally works as follows:
1. The user interacts with the user interface in some way (e.g., user presses a button)
2. A controller handles the input event from the user interface, often via a registered handler or callback.
3. The controller accesses the model, possibly updating it in a way appropriate to the user’s action (e.g., controller updates user’s shopping cart).
4. A view uses the model to generate an appropriate user interface (e.g., view produces a screen listing the shopping cart contents). The view gets its own data from the model. The model has no direct knowledge of the view.
5. The user interface waits for further user interactions, which begins the cycle anew.
- Related Videos
- Related Articles
- Ask / Related Q&A





How to Solve the Registry Errors
By: janson | 27/11/2009The Registry of Windows is the most important for the working of the computer system due to it stores valuable data which can cause serious loss in performance of the system. The registry files of Windows are set to save the configuration settings of Windows and they are spread around on the hard disk. To solve the errors of them was absolute a Herculean task.
Gravity Jack Software Studio is a new venture that is pushing the envelope in the mobile software development arena
By: Adam Chronister | 26/11/2009Gravity Jack opened offices this month in Liberty Lake and is currently filing patents regarding a tightly-kept secret project that is expected to revolutionize the way people interact with mobile computing platforms such as Apple’s iPhone and Google’s Android.
PHP and Open Source, Keys to build complex but Affordable websites
By: Mahendra Sharma | 26/11/2009Gone are the days when high tech programmers and high profile companies were required to be engaged to develop a complex system on web. Open Source and especially PHP developers have changed the scenario. Every other day you can find new software available as open source developed by PHP programmers. Essential thing is such software is available for free or at nominal cost.
Java Application development India
By: Rightway Solution | 25/11/2009Java is most suitable for creating Enterprise Applications for its flexibility and control. JAVA is used to create wide range of application with an extensive functionality.
Understanding the Typical Structure of Software Testing Process
By: yogindernath | 25/11/2009Understanding the Typical Structure of Software Testing Process
CRM Customisation
By: Manny de Sousa | 24/11/2009Next Generation CRM platforms need to offer full customisation. With the number of flexible design tools and components for .net and other development platforms there are no excuses for CRM providers not to offer truly simple customisation tools that can be used by non IT minded individuals
Computer technology - How to make your computer work faster?
By: janson | 24/11/2009Computer slows down over time due to every day use. It makes simple tasks start taking minutes or hours to finish. In order to make the computer work effectively and quickly, it is necessary for the computer users to do something to improve the performance of the computer.
VB Calculator
By: pons_saravanan | 24/11/2009This article is targeted for the learners. I am trying to explain the use of Control Arrays with the help of Calculator Sample.
LAMP Application Development Vietnam
By: TuVinhSoft .,JSC | 22/10/2009 | OutsourcingTuVinhSoft provides offshore development and Outsourcing services based on several years of experience in executing projects based on Linux, Apache, MySQL and PHP (LAMP) technologies.
5 Reasons to Outsource Software Development Projects
By: TuVinhSoft .,JSC | 18/10/2009 | OutsourcingTo satisfy the customers most of the providers are occupied in developing new programs, providing add-ons, and new versions. In these days of globalization many firms are looking for the software development outsourcing provider.
Web 2.0 Development in Vietnam
By: TuVinhSoft .,JSC | 15/07/2009 | Web DesignWeb 2.0 standards are being accepted across the globe to facilitate creativity, information sharing, collaboration among web users in the World Wide Web technology and web design. Web 2.0 has lead to the concept of new generation for web oriented communities like social-networking sites, Wikis, Blogs, and folksonomies.
Offshore Outsourcing Development in Vietnam
By: TuVinhSoft .,JSC | 03/07/2009 | OutsourcingIf you share the world opinion that Vietnam is the outsourcing hot spot we will prove it to you. Ours becomes an extension to your office via the internet and E-mail. Your offshore project world seem to be happening right outside of your cabin.
The best software development center and software outsourcing in Vietnam
By: TuVinhSoft .,JSC | 30/05/2009 | OutsourcingAn offshore development center(ODC) offers clients enormous benefits. ODCs consist of a dedicated pool of software professionals who form a virtual extension of the client's team. ODC (http://www.tuvinh.com ) offer the best of both worlds - the benefits of one's own team without the difficulties of managing it. In addition, offshore development centers enables clients to scale up their teams, in terms of numbers or skill sets.
Acl and Phpgacl
By: TuVinhSoft .,JSC | 02/02/2009 | ProgrammingWhat is an Access Control List: An Access Control List (ACL) is a system that can be used to control access to specified resources. In this context we are mainly concerned with resources such as Web pages, application classes and sections, for example administrators or members sections of a Web application.
Mvc Design Pattern
By: TuVinhSoft .,JSC | 14/11/2008 | ProgrammingModel-view-controller (MVC) is an architectural pattern used in software engineering. In complex computer applications that present a large amount of data to the user, a developer often wishes to separate data (model) and user interface (View) concerns, so that changes to the user interface will not affect data handling, and that the data can be reorganized without changing the user interface.