Modèle MVC


Le modèle MVC signifie modèle Model-View-Controller (Model-View-Controller). Ce modèle est utilisé pour le développement en couches d'applications.

  • Modèle (Modèle) - Le modèle représente un objet ou JAVA POJO qui accède aux données. Il peut également avoir une logique pour mettre à jour le contrôleur lorsque les données changent.

  • Vue - Une vue représente une visualisation des données contenues par le modèle.

  • Contrôleur - Le contrôleur agit sur les modèles et les vues. Il contrôle le flux de données vers les objets du modèle et met à jour la vue lorsque les données changent. Il sépare la vue du modèle.

Mise en œuvre

Nous allons créer un objet Étudiant comme modèle. StudentView est une classe d'affichage qui affiche les détails de l'étudiant sur la console. StudentController est la classe de contrôleur chargée de stocker les données dans l'objet Student et, par conséquent, de mettre à jour la vue<. 🎜>Vue Étudiant.

MVCPaternDemo, notre classe de démonstration utilise StudentController pour démontrer l'utilisation du modèle MVC.

mvc_pattern_uml_diagram.jpgÉtape 1

Créez le modèle.

Student.java

public 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;
   }
}

Étape 2

Créer une vue.

StudentView.java

public class StudentView {
   public void printStudentDetails(String studentName, String studentRollNo){
      System.out.println("Student: ");
      System.out.println("Name: " + studentName);
      System.out.println("Roll No: " + studentRollNo);
   }
}

Étape 3

Créez le contrôleur.

StudentController.java

public 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());
   }	
}

Étape 4

Utilisez la méthode

StudentController pour démontrer l'utilisation du modèle de conception MVC.

MVCPatternDemo.java

public class MVCPatternDemo {
   public static void main(String[] args) {

      //从数据可获取学生记录
      Student model  = retriveStudentFromDatabase();

      //创建一个视图:把学生详细信息输出到控制台
      StudentView view = new StudentView();

      StudentController controller = new StudentController(model, view);

      controller.updateView();

      //更新模型数据
      controller.setStudentName("John");

      controller.updateView();
   }

   private static Student retriveStudentFromDatabase(){
      Student student = new Student();
      student.setName("Robert");
      student.setRollNo("10");
      return student;
   }
}

Étape 5

Vérifiez la sortie.

Student: 
Name: Robert
Roll No: 10
Student: 
Name: John
Roll No: 10