MVCパターン
MVC パターンは、Model-View-Controller (Model-View-Controller) パターンの略です。このパターンは、アプリケーションの階層化開発に使用されます。
Model (モデル) - モデルは、データにアクセスするオブジェクトまたは JAVA POJO を表します。データが変更されたときにコントローラーを更新するロジックを含めることもできます。
View - ビューは、モデルに含まれるデータの視覚化を表します。
Controller - コントローラーはモデルとビューに作用します。モデル オブジェクトへのデータ フローを制御し、データが変更されたときにビューを更新します。ビューをモデルから分離します。
実装
モデルとして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) { //从数据可获取学生记录 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; } }
ステップ 5
出力を確認します。
りー