• Home
  • Archive
  • Tools
  • Contact Us

The Customize Windows

Technology Journal

  • Cloud Computing
  • Computer
  • Digital Photography
  • Windows 7
  • Archive
  • Cloud Computing
  • Virtualization
  • Computer and Internet
  • Digital Photography
  • Android
  • Sysadmin
  • Electronics
  • Big Data
  • Virtualization
  • Downloads
  • Web Development
  • Apple
  • Android
Advertisement
You are here:Home » What is Model View Controller (MVC)?

By Abhishek Ghosh March 3, 2022 6:13 pm Updated on March 3, 2022

What is Model View Controller (MVC)?

Advertisement

Model View Controller (MVC) is a model for dividing software into three components Data Model, View/Presentation and Program Controller. The pattern can be used both as an architectural pattern and as a design pattern. The aim of the model is a flexible program design that facilitates subsequent modification or expansion and enables the reusability of the individual components. It is then possible, for example, to write an application that uses the same model and then makes it accessible to Windows, Mac, Linux or the Internet. The implementations use the same model, only controller and view have to be implemented anew. The MVC concept was first described in 1979 for user interfaces. However, it is now regarded as a de facto standard for the rough design of many complex software systems, sometimes with differentiations and often several modules divided according to the MVC pattern.

 

Classic architectural pattern

 

Model

The model contains data that is represented by the presentation. It is independent of presentation and control. The changes to the data are announced to the presentation by the “Observer” design pattern. In some implementations of the MVC pattern, the model contains business logic that is responsible for modifying the data.

Advertisement

---

Presentation

The presentation is responsible for presenting the data of the model and realizing the user interactions. It knows the model whose data it presents but is not responsible for processing that data. Furthermore, it is independent of the controller. The announcement of user interactions to the controller is done according to the design pattern “Observer”. The presentation is notified of changes to the data in the model using the Observer design pattern and can then update the appearance. The presentation often uses the Composite design pattern.

Controller

The controller manages the presentation and the model. The presentation informs it about user interactions (using the Observer design pattern), evaluates them, and then makes adjustments to the presentation and changes to the data in the model. In some modern implementations of the MVC pattern, the controller no longer updates the data in the model directly, instead indirectly updates the data by accessing the business logic implemented in the model. In a special case of the MVC pattern, the controller can also manage multiple presentations or multiple models at the same time.

 

Undetected functionalities

 

Because the MVC pattern must be implemented differently in different programming languages, there is no one-size-fits-all definition of where the business logic should be located within the MVC classes. For historical reasons, it is often still programmed in the controller but is increasingly implemented in the model today. Thus, the model contains all business objects with all their data and functions and can therefore be tested in isolation, quickly, completely and automatically. Some MVC frameworks strictly dictate were to implement the business logic, others leave this decision to the software developers.

Similarly, the location for validating user input is not defined. Simple format validations can already be implemented in view. Validations, which need to take greater account of the business logic, are more likely to be implemented in the model or the control.

Also, the formatting of the raw data and the internationalization is not defined where they take place. For reasons of development efficiency, it is often a good idea to integrate them into the model, so that you can limit yourself to the creation of widgets or templates when viewing. On the other hand, aspects of the representation are shifted into the model, which is quite contrary to the basic idea. As a variant, it is therefore also advisable to provide independent functional areas for this purpose, which do not have to be assigned to models, views or controllers.

What is Model View Controller MVC

 

Current implementations

 

The terms of the original MVC pattern are often borrowed today to make systems comprehensible that are far more complex than the software of the time. It depends on the perspective of the subsystem under consideration which elements are designated by it. For example, a web browser could be understood as a view of a larger overall system, while a single form element in the browser, in turn, consists of a small data model, the associated representation and its control. The basic idea of separating model, view and controller has been preserved but is used more finely granulated and nested.

In a broader sense, the MVC pattern in web applications is distributed across servers and browsers, making it more complex than the classic MVC pattern. In the abstract, the browser takes over the visible representation and direct user input, as well as the non-page-specific functions of the controller and view. The server takes care of specific control of the browser by communicating with it via HTTP.

In the narrower sense, however, this only means the server-side program. Once again, you can distinguish between the webserver for static websites or its delegation to special additional programs. The term MVC is used in particular in the context of such additional programs to the webserver.

Facebook Twitter Pinterest

Abhishek Ghosh

About Abhishek Ghosh

Abhishek Ghosh is a Businessman, Surgeon, Author and Blogger. You can keep touch with him on Twitter - @AbhishekCTRL.

Here’s what we’ve got for you which might like :

Articles Related to What is Model View Controller (MVC)?

  • Nginx WordPress Installation Guide (All Steps)

    This is a Full Nginx WordPress Installation Guide With All the Steps, Including Some Optimization and Setup Which is Compatible With WordPress DOT ORG Example Settings For Nginx.

  • Model-View-Controller (MVC) : Overview and Implementations

    Model-View-Controller or MVC is an architectural pattern for structuring software development in the three units of architecture patterns.

  • WordPress & PHP : Different AdSense Units on Mobile Devices

    Here is How To Serve Different AdSense Units on Mobile Devices on WordPress With PHP. WordPress Has Function Which Can Be Used In Free Way.

  • Changing Data With cURL for OpenStack Swift (HP Cloud CDN)

    Changing Data With cURL For Object is Quite Easy in OpenStack Swift. Here Are Examples With HP Cloud CDN To Make it Clear. Official Examples Are Bad.

performing a search on this website can help you. Also, we have YouTube Videos.

Take The Conversation Further ...

We'd love to know your thoughts on this article.
Meet the Author over on Twitter to join the conversation right now!

If you want to Advertise on our Article or want a Sponsored Article, you are invited to Contact us.

Contact Us

Subscribe To Our Free Newsletter

Get new posts by email:

Please Confirm the Subscription When Approval Email Will Arrive in Your Email Inbox as Second Step.

Search this website…

 

Popular Articles

Our Homepage is best place to find popular articles!

Here Are Some Good to Read Articles :

  • Cloud Computing Service Models
  • What is Cloud Computing?
  • Cloud Computing and Social Networks in Mobile Space
  • ARM Processor Architecture
  • What Camera Mode to Choose
  • Indispensable MySQL queries for custom fields in WordPress
  • Windows 7 Speech Recognition Scripting Related Tutorials

Social Networks

  • Pinterest (24.3K Followers)
  • Twitter (5.8k Followers)
  • Facebook (5.7k Followers)
  • LinkedIn (3.7k Followers)
  • YouTube (1.3k Followers)
  • GitHub (Repository)
  • GitHub (Gists)
Looking to publish sponsored article on our website?

Contact us

Recent Posts

  • Affordable Earphone/IEM for Audiophiles: HiFiMan RE-400 WaterlineOctober 2, 2023
  • What is Hardware Security Module (HSM)September 30, 2023
  • Transducer Technologies of HeadphonesSeptember 28, 2023
  • What is Analog-to-Digital Converter (ADC)September 27, 2023
  • Comparison of Tube Amplifiers and SemiconductorsSeptember 26, 2023
PC users can consult Corrine Chorney for Security.

Want to know more about us?

Read Notability and Mentions & Our Setup.

Copyright © 2023 - The Customize Windows | dESIGNed by The Customize Windows

Copyright  · Privacy Policy  · Advertising Policy  · Terms of Service  · Refund Policy