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

This Article Has Been Shared 712 Times!

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

  • What Should We Know About Software Quality

    In software engineering, software quality is an overall appreciation of software, based on many indicators. Completeness of functionality, correction and accuracy of results, reliability, fault tolerance, ease and flexibility of its use, simplicity, extensibility, compatibility and portability, ease of correction and transformation, performance, consistency and integrity of the information it contains are all quality factors. […]

  • What is Continuous Improvement Process (CIP)?

    Continual Improvement Process (CIP)is a way of thinking that aims to strengthen the competitiveness of companies with continuous improvements in small steps. CIP refers to product, process and service quality. CIP is implemented in the context of teamwork through continuous small improvement steps (in contrast to innovations in the form of large, drastic innovations). CIP […]

  • HR Trends and Challenges To Watch Out For in 2022

    The professional world has witnessed umpteen changes in the last year and a half in the wake of the Covid-19 pandemic. In the same sequence, HR practices have been impacted by the sudden changes in the work environment, including the dependence on remote work, the hiring process, and training. There have been visible changes like […]

  • Few Common and Useful Git Commands

    Git is a distributed version control system that differs in some characteristics from typical version control systems. Both branching and merging two or more branches are integral parts of working with Git and are built into the Git tools. Git contains programs that make it easy to visualize the non-linear history of a project and […]

  • Brief Details of Software Release Lifecycle

    The software release life cycle, in software engineering, is the set of progress states of the computer application creation project, to identify how much progress has been made and how much remains until the end. Each major version of a product usually goes through a stage where new features are added (alpha stage), then a […]

Additionally, 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

  • What Online Casinos Have No Deposit Bonus in Australia March 30, 2023
  • Four Foolproof Tips To Never Run Out Of Blog Ideas For Your Website March 28, 2023
  • The Interactive Entertainment Serving as a Tech Proving Ground March 28, 2023
  • Is it Good to Run Apache Web server and MySQL Database on Separate Cloud Servers? March 27, 2023
  • Advantages of Cloud Server Over Dedicated Server for Hosting WordPress March 26, 2023

About This Article

Cite this article as: Abhishek Ghosh, "What is Model View Controller (MVC)?," in The Customize Windows, March 3, 2022, March 31, 2023, https://thecustomizewindows.com/2022/03/what-is-model-view-controller-mvc/.

Source:The Customize Windows, JiMA.in

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

We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.
Do not sell my personal information.
Cookie SettingsAccept
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDurationDescription
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
SAVE & ACCEPT