Maison > développement back-end > tutoriel php > Qu'est-ce que le modèle de conception MVC ?

Qu'est-ce que le modèle de conception MVC ?

藏色散人
Libérer: 2023-04-05 21:00:01
original
9502 Les gens l'ont consulté


Model View Controller est appelé MVC, c'est-à-dire Model View Controller. Le modèle de conception MVC spécifie qu'une application se compose d'un modèle de données, d'informations de présentation et d'informations de contrôle. Le modèle nécessite que chaque modèle soit séparé en objets distincts.

MVC ressemble davantage à un modèle architectural, mais il ne convient pas aux applications complètes. MVC concerne principalement la couche d’interaction UI de l’application. Vous avez toujours besoin d'une couche de logique métier et probablement de quelques couches de service et couches d'accès aux données.

Qu'est-ce que le modèle de conception MVC ?

Le Modèle contient uniquement des données d'application pures et ne contient pas de logique décrivant comment présenter les données à l'utilisateur.

Afficher Affiche les données du modèle à l'utilisateur. La vue sait comment accéder aux données du modèle, mais elle n'a aucune idée de ce que signifient ces données ni de ce que l'utilisateur peut faire pour les manipuler.

Contrôleur existe entre la vue et le modèle. Il écoute les événements déclenchés par les vues (ou d'autres sources externes) et exécute les réponses appropriées à ces événements. Dans la plupart des cas, la réponse consiste à appeler une méthode sur le modèle. Étant donné que la vue et le modèle sont connectés via le mécanisme de notification, les résultats de cette opération seront automatiquement reflétés dans la vue.

Regardons un exemple du modèle de conception MVC.

class Student  
{ 
    private String rollNo; 
    private String name; 
     
    public String getRollNo()  
    { 
        return rollNo; 
    } 
     
    public void setRollNo(String rollNo)  
    { 
        this.rollNo = rollNo; 
    } 
     
    public String getName()  
    { 
        return name; 
    } 
     
    public void setName(String name)  
    { 
        this.name = name; 
    } 
} 
  
class StudentView  
{ 
    public void printStudentDetails(String studentName, String studentRollNo) 
    { 
        System.out.println("学生: "); 
        System.out.println("姓名: " + studentName); 
        System.out.println("编号: " + studentRollNo); 
    } 
} 
  
class StudentController  
{ 
    private Student model; 
    private StudentView view; 
  
    public StudentController(Student model, StudentView view) 
    { 
        this.model = model; 
        this.view = view; 
    } 
  
    public void setStudentName(String name) 
    { 
        model.setName(name);         
    } 
  
    public String getStudentName() 
    { 
        return model.getName();         
    } 
  
    public void setStudentRollNo(String rollNo) 
    { 
        model.setRollNo(rollNo);         
    } 
  
    public String getStudentRollNo() 
    { 
        return model.getRollNo();         
    } 
  
    public void updateView() 
    {                 
        view.printStudentDetails(model.getName(), model.getRollNo()); 
    }     
} 
  
class MVCPattern  
{ 
    public static void main(String[] args)  
    { 
        Student model  = retriveStudentFromDatabase(); 
  
        StudentView view = new StudentView(); 
  
        StudentController controller = new StudentController(model, view); 
  
        controller.updateView(); 
  
        controller.setStudentName("Vikram Sharma"); 
  
        controller.updateView(); 
    } 
  
    private static Student retriveStudentFromDatabase() 
    { 
        Student student = new Student(); 
        student.setName("Lokesh Sharma"); 
        student.setRollNo("15UCS157"); 
        return student; 
    } 
      
}
Copier après la connexion

Sortie :

学生: 
姓名: Lokesh Sharma
编号: 15UCS157
学生: 
姓名: Vikram Sharma
编号: 15UCS157
Copier après la connexion

Avantages

• Plusieurs développeurs peuvent travailler simultanément sur des modèles, des contrôleurs et des vues.

• MVC prend en charge le regroupement logique des opérations associées sur le contrôleur. Les vues de modèles spécifiques sont également regroupées.

• Un modèle peut avoir plusieurs vues.

Inconvénients

• La navigation dans les cadres peut être complexe car elle introduit une nouvelle couche d'abstraction et oblige les utilisateurs à s'adapter aux normes de décomposition de MVC.

• La connaissance de plusieurs technologies devient la norme. Les développeurs utilisant MVC doivent maîtriser plusieurs technologies



Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal