Образец MVC расшифровывается как Pattern-View-Controller Pattern. Этот шаблон используется для разделения проблем приложения.
-
Модель — Модель представляет объект или JAVA POJO, несущий данные. Он также может иметь логику для обновления контроллера, если его данные изменяются.
-
Представление — представление представляет собой визуализацию данных, содержащихся в модели.
-
Контроллер — Контроллер действует как на модель, так и на вид. Он контролирует поток данных в объект модели и обновляет представление при каждом изменении данных. Он сохраняет вид и модель отдельно.
Модель — Модель представляет объект или JAVA POJO, несущий данные. Он также может иметь логику для обновления контроллера, если его данные изменяются.
Представление — представление представляет собой визуализацию данных, содержащихся в модели.
Контроллер — Контроллер действует как на модель, так и на вид. Он контролирует поток данных в объект модели и обновляет представление при каждом изменении данных. Он сохраняет вид и модель отдельно.
Реализация
Мы собираемся создать объект Student, выступающий в качестве модели. StudentView будет классом представления, который может печатать данные ученика на консоли, а StudentController является классом контроллера, ответственным за хранение данных в объекте Student и, соответственно, за обновление представления StudentView .
MVCPatternDemo , наш демонстрационный класс, будет использовать StudentController для демонстрации использования шаблона MVC.
Шаг 1
Создать модель.
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; } }
Шаг 2
Создать вид.
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); } }
Шаг 3
Создать контроллер.
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()); } }
Шаг 4
Используйте методы StudentController, чтобы продемонстрировать использование шаблона проектирования MVC.
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; } }
Шаг 5
Проверьте вывод.