多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

中國最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2

shejimoshi教程

MVC 模式

閱讀 (2087)

MVC 模式

MVC 模式代表 Model-View-Controller(模型-視圖-控制器) 模式。這種模式用于應用程序的分層開發。

  • Model(模型) - 模型代表一個存取數據的對象或 JAVA POJO。它也可以帶有邏輯,在數據變化時更新控制器。
  • View(視圖) - 視圖代表模型包含的數據的可視化。
  • Controller(控制器) - 控制器作用于模型和視圖上。它控制數據流向模型對象,并在數據變化時更新視圖。它使視圖與模型分離開。

實現

我們將創建一個作為模型的 Student 對象。StudentView 是一個把學生詳細信息輸出到控制臺的視圖類,StudentController 是負責存儲數據到 Student 對象中的控制器類,并相應地更新視圖 StudentView。

MVCPatternDemo,我們的演示類使用 StudentController 來演示 MVC 模式的用法。

MVC 模式的 UML 圖

步驟 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

驗證輸出。

Student: 
Name: Robert
Roll No: 10
Student: 
Name: John
Roll No: 10
關閉
程序員人生
主站蜘蛛池模板: 精品精品国产高清a毛片 | 亚洲黄色视屏 | 亚洲小说区图片区 | 国产精品免费麻豆入口 | 激情文学激情图片 | 日韩亚洲一区中文字幕在线 | 成人福利在线 | 国产免费a v吧在线观看不卡 | 欧美毛片视频 | 日本高清www免费视频软件 | 成人国产一区二区三区精品 | 欧美特级午夜一区二区三区 | 午夜看片福利 | 国产欧美精品区一区二区三区 | 成人欧美一区二区三区在线 | 一区二区精品在线观看 | 国内自拍 亚洲系列 欧美系列 | 国产大片51精品免费观看 | 亚洲综合区图片小说区 | 欧美日韩高清观看一区二区 | 亚洲人成影院在线高清 | 欧美一级www毛片 | 久久久精品成人免费看 | 久草成人在线 | 欧美性xxxx极品高清3d | 精品毛片视频 | 午夜视频在线免费观看 | 欧美一区中文字幕 | 成人精品一区二区不卡视频 | 国产主播福利一区二区 | 999精品久久久中文字幕蜜桃 | 久久性生活视频 | 欧美jizzhd欧美巨大 | www操| 亚洲精品www久久久久久 | 欧美成人性色大片在线观看 | 久久r这里只有精品 | xx视频在线观看 | 国产高清乱码无卡女大生 | 亚洲成人免费视频在线 | 顶级欧美做受xxx000 |