Home Common Problem What is the difference between mvvm mode and mvc mode?

What is the difference between mvvm mode and mvc mode?

Jul 25, 2020 am 11:17 AM
mvc mvvm

Difference: Controller in MVC has evolved into viewModel in MVVM. MVVM mainly solves the problems of reduced page rendering performance and slower loading speed caused by a large number of DOM operations in MVC. When and Model change frequently in MVVM, developers need to actively update to View.

What is the difference between mvvm mode and mvc mode?

1. What is MVVM?

Under the MVVM framework, the view and the model cannot communicate directly. They can only interact through the ViewModel. It can monitor data changes and then notify the view to automatically update. When the user When operating a view, the VM can also monitor changes in the view and then notify the data to make corresponding changes. This actually realizes two-way binding of data. And V and VM can communicate.

Picture examples are as follows:

What is the difference between mvvm mode and mvc mode?
##Advantages of MVVM mode:

Low coupling: View can change and modify independently of the Model , a ViewModel can be bound to different Views. When the View changes, the Model can remain unchanged, and when the Model changes, the View can also remain unchanged.

Reusability: You can put some view logic in a ViewModel, allowing many Views to reuse this view logic.

Independent development: Developers can focus on the development of business logic and data, and designers can focus on page design.

2. What is MVC?

MVC is one of the most widely used software architectures. Generally, MVC is divided into:

Model (model), View (view), Controller (controller). This is mainly based on the purpose of layering to separate each other's responsibilities.

View generally uses Controller to communicate with Model.

Controller is the coordinator of Model and View, and View and Model are not directly connected. Basically it's a one-way contact.

M and V refer to the same meaning as M and V in MVVM. C means Controller refers to the page business logic. MVC is one-way communication. That is, View and Model must be connected through Controller.

3. The difference between mvc and mvvm:

The difference between MVC and MVVM is not that VM completely replaces C. The purpose of ViewModel is to abstract the business displayed in the Controller. Logic, rather than replacing the Controller, other view operation services should still be implemented in the Controller. In other words, MVVM implements the reuse of business logic components.

- Controller in MVC evolves into ViewModel in MVVM

-MVVM displays the view layer through data instead of node operations

-MVVM mainly solves a large number of dom in MVC The operation reduces the page rendering performance, slows down the loading speed, and affects the user experience.

For more related knowledge, please visit:

PHP Chinese website!

The above is the detailed content of What is the difference between mvvm mode and mvc mode?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP implements MVVM architecture: basic principles and applications PHP implements MVVM architecture: basic principles and applications Jun 18, 2023 am 08:54 AM

With the rapid development of web applications, more and more developers are turning their attention to various emerging web development frameworks and architectural design patterns. One of the high-profile design patterns is the MVVM (ModelViewViewModel) architectural pattern. MVVM adopts a modern design pattern that allows developers to better manage and maintain applications by separating UI and business logic. In addition, MVVM reduces unnecessary coupling and improves code reusability and flexibility.

PHP MVC Architecture: Building Web Applications for the Future PHP MVC Architecture: Building Web Applications for the Future Mar 03, 2024 am 09:01 AM

Introduction In today's rapidly evolving digital world, it is crucial to build robust, flexible and maintainable WEB applications. The PHPmvc architecture provides an ideal solution to achieve this goal. MVC (Model-View-Controller) is a widely used design pattern that separates various aspects of an application into independent components. The foundation of MVC architecture The core principle of MVC architecture is separation of concerns: Model: encapsulates the data and business logic of the application. View: Responsible for presenting data and handling user interaction. Controller: Coordinates the interaction between models and views, manages user requests and business logic. PHPMVC Architecture The phpMVC architecture follows the traditional MVC pattern, but also introduces language-specific features. The following is PHPMVC

An advanced guide to PHP MVC architecture: unlocking advanced features An advanced guide to PHP MVC architecture: unlocking advanced features Mar 03, 2024 am 09:23 AM

The MVC architecture (Model-View-Controller) is one of the most popular patterns in PHP development because it provides a clear structure for organizing code and simplifying the development of WEB applications. While basic MVC principles are sufficient for most web applications, it has some limitations for applications that need to handle complex data or implement advanced functionality. Separating the model layer Separating the model layer is a common technique in advanced MVC architecture. It involves breaking down a model class into smaller subclasses, each focusing on a specific functionality. For example, for an e-commerce application, you might break down the main model class into an order model, a product model, and a customer model. This separation helps improve code maintainability and reusability. Use dependency injection

How to implement the MVC pattern using PHP How to implement the MVC pattern using PHP Jun 07, 2023 pm 03:40 PM

The MVC (Model-View-Controller) pattern is a commonly used software design pattern that can help developers better organize and manage code. The MVC pattern divides the application into three parts: Model, View and Controller, each part has its own role and responsibilities. In this article, we will discuss how to implement the MVC pattern using PHP. Model A model represents an application's data and data processing. usually,

Uncovering the success of the SpringMVC framework: why it is so popular Uncovering the success of the SpringMVC framework: why it is so popular Jan 24, 2024 am 08:39 AM

SpringMVC framework decrypted: Why is it so popular, specific code examples are needed Introduction: In today's software development field, the SpringMVC framework has become a very popular choice among developers. It is a Web framework based on the MVC architecture pattern, providing a flexible, lightweight, and efficient development method. This article will delve into the charm of the SpringMVC framework and demonstrate its power through specific code examples. 1. Advantages of SpringMVC framework Flexible configuration method Spr

How to use MVC architecture to design projects in PHP How to use MVC architecture to design projects in PHP Jun 27, 2023 pm 12:18 PM

In Web development, MVC (Model-View-Controller) is a commonly used architectural pattern for processing and managing an application's data, user interface, and control logic. As a popular web development language, PHP can also use the MVC architecture to design and build web applications. This article will introduce how to use MVC architecture to design projects in PHP, and explain its advantages and precautions. What is MVCMVC is a software architecture pattern commonly used in web applications. MV

Developing MVC with PHP8 framework: Important concepts and techniques that beginners need to know Developing MVC with PHP8 framework: Important concepts and techniques that beginners need to know Sep 11, 2023 am 09:43 AM

Developing MVC with PHP8 framework: Important concepts and techniques that beginners need to know Introduction: With the rapid development of the Internet, Web development plays an important role in today's software development industry. PHP is widely used for web development, and there are many mature frameworks that help developers build applications more efficiently. Among them, the MVC (Model-View-Controller) architecture is one of the most common and widely used patterns. This article will introduce how beginners can use the PHP8 framework to develop MVC applications.

Developing MVC with PHP8 Framework: A Step-by-Step Guide Developing MVC with PHP8 Framework: A Step-by-Step Guide Sep 11, 2023 am 10:05 AM

Developing MVC with PHP8 Framework: A Step-by-Step Guide Introduction: MVC (Model-View-Controller) is a commonly used software architecture pattern that is used to separate the logic, data and user interface of an application. It provides a structure that separates the application into three distinct components for better management and maintenance of the code. In this article, we will explore how to use the PHP8 framework to develop an application that conforms to the MVC pattern. Step One: Understand the MVC Pattern Before starting to develop an MVC application, I