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
Author: Mai Công Sơn
Đăng ký nhận bộ tài liệu học Java trên 2 trang giấy tại đây
Xem thêm: Java Coding Bootcamp là gì? Tổng quan về Java Coding Bootcamp
0 Lời bình