黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

Java設計模式

MVC設計模式

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

• Model(模型) - 模型代表一個存取數據的對象或 JAVA POJO。它也可以帶有邏輯,在數據變化時更新控制器。

• View(視圖) - 視圖代表模型包含的數據的可視化。

• Controller(控制器) - 控制器作用于模型和視圖上。它控制數據流向模型對象,并在數據變化時更新視圖。它使視圖與模型分離開。

 

實現

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

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

步驟 1

創建模型。

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

創建視圖。

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

創建控制器。

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 設計模式的用法。

public class MVCPatternDemo {
   public static void main(String[] args) {
 
      //從數據庫獲取學生記錄
      Student model  = retrieveStudentFromDatabase();
 
      //創建一個視圖:把學生詳細信息輸出到控制臺
      StudentView view = new StudentView();
 
      StudentController controller = new StudentController(model, view);
 
      controller.updateView();
 
      //更新模型數據
      controller.setStudentName("John");
 
      controller.updateView();
   }
 
   private static Student retrieveStudentFromDatabase(){
      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怡红院怡红院首页 色综合久久久久久888 | 日韩综合nv一区二区在线观看 | 色豆豆永久免费网站 | 韩国理伦伦片在线观看 | 毛片基地免费视频a | 麻豆日韩国产精品欧美在线 | 欧美黑人性猛交╳xx╳动态图 | 香蕉视频一级片 | 国产乱人视频在线播放不卡 | 青草色视频 | 日韩欧| 性夜黄a爽爽免费视频国产 性夜黄 a 爽免费看 | 欧美a级在线观看 | 一个人看的www高清在线观看 | 九九操视频 | 一级特黄aaa大片在线观看 | 日本a视频 | 亚洲欧美日韩国产精品网 | 成人一级黄色大片 | 日韩一级特黄 | 丁香网五月| 最近日本中文字幕免费完整 | 精品一区一区三区新区乱码 | 日本黄色影院在线观看 | 欧美理论影院在线观看免费 | 色香欲亚洲天天综合网 | 91福利院 | 一级免费a | 波多野结衣在线中文字幕 | 成人看片黄a毛片 | 免费一级成人毛片 | 福利片中文| 欧美疯狂xxxx乱大交视频 | 日本漫画工囗全彩内番怀孕 | 中文字幕日韩精品中文区 | 99热成人精品免费久久 | 26uuu另类亚洲欧美日本一 | 免费观看黄色的网站 |