post-image

Mô hình MVC

MVC Design Pattern

Mô hình MVC là gì?

Mô hình MVC là viết tắt của Model – View – Controller. Mẫu này được sử dụng để phân tách mối quan tâm của ứng dụng.

  • Model – Model đại diện cho một đối tượng hoặc dữ liệu. Nó cũng có thể có logic để cập nhật Controller nếu dữ liệu của nó thay đổi.
  • View – View thể hiện trực quan hóa dữ liệu của Model.
  • Controller – Controller hoạt động trên cả Model và View. Nó kiểm soát luồng dữ liệu vào đối tượng Model và cập nhật View mỗi khi dữ liệu thay đổi. Nó giữ cho View và Model riêng biệt.

Triển khai

Chúng ta sẽ tạo một đối tượng Student hoạt động như một Model.

StudentView sẽ là một lớp View có thể in chi tiết sinh viên trên Controller và StudentController là lớp điều khiển chịu trách nhiệm lưu trữ dữ liệu trong đối tượng Student và cập nhật View StudentView.

Bước 1: Tạo Model 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;
   }
}

Bước 2: Tạo View 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);
   }
}

Bước 3: Tạo Controller 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());
   }       	
}

Bước 4: MVCPatternDemo.java

public class MVCPatternDemo {
   public static void main(String[] args) {
 
  	//fetch student record based on his roll no from the database
  	Student Model  = retriveStudentFromDatabase();
 
  	//Create a View : to write student details on console
  	StudentView View = new StudentView();
 
  	StudentController Controller = new StudentController(Model, View);
 
  	Controller.updateView();
 
  	//update Model data
  	Controller.setStudentName("John");
 
  	Controller.updateView();
   }
 
   private static Student retriveStudentFromDatabase(){
  	Student student = new Student();
  	student.setName("Robert");
  	student.setRollNo("10");
  	return student;
   }
}

Bước 5: Kiểm tra kết quả

Student:

Name: Robert

Roll No: 10

Student:

Name: John

Roll No: 10

Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.

Tags:
,

Leave a Reply

Your email address will not be published. Required fields are marked *