大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Java設(shè)計(jì)模式

MVC設(shè)計(jì)模式

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

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

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

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

 

實(shí)現(xiàn)

我們將創(chuàng)建一個(gè)作為模型的 Student 對(duì)象。StudentView 是一個(gè)把學(xué)生詳細(xì)信息輸出到控制臺(tái)的視圖類,StudentController 是負(fù)責(zé)存儲(chǔ)數(shù)據(jù)到 Student 對(duì)象中的控制器類,并相應(yīng)地更新視圖 StudentView。

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

步驟 1

創(chuàng)建模型。

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

創(chuàng)建視圖。

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

創(chuàng)建控制器。

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 設(shè)計(jì)模式的用法。

public class MVCPatternDemo {
   public static void main(String[] args) {
 
      //從數(shù)據(jù)庫獲取學(xué)生記錄
      Student model  = retrieveStudentFromDatabase();
 
      //創(chuàng)建一個(gè)視圖:把學(xué)生詳細(xì)信息輸出到控制臺(tái)
      StudentView view = new StudentView();
 
      StudentController controller = new StudentController(model, view);
 
      controller.updateView();
 
      //更新模型數(shù)據(jù)
      controller.setStudentName("John");
 
      controller.updateView();
   }
 
   private static Student retrieveStudentFromDatabase(){
      Student student = new Student();
      student.setName("Robert");
      student.setRollNo("10");
      return student;
   }
}

步驟 5

執(zhí)行程序,輸出結(jié)果:

Student: 
Name: Robert
Roll No: 10
Student: 
Name: John
Roll No: 10

 

全部教程
主站蜘蛛池模板: 成人国产在线看不卡 | 欧美理论片大全在线观看 | 99视频在线国产 | 日本视频中文字幕一区二区 | 咪咪爱毛片 | 狠狠躁天天躁夜夜躁婷婷 | 国产羞羞事1000部在线观看 | 国产亚洲精品一品区99热 | 午夜影院免费在线观看 | 911精品国产91久久久久 | 免费网站看v片在线成人国产系列 | 最刺激黄a大片免费观看下截 | 熊出没之重启未来免费观看 | 精品国产国产综合精品 | 精品国产品香蕉在线观看 | 男人的天堂免费视频 | 七七久久| 91手机在线 | 国产欧美在线视频免费 | 久久久久免费观看 | 成人免费一区二区三区在线观看 | 国产在线欧美精品 | 91亚洲国产三上悠亚在线播放 | 一级特黄aa大片欧美小说 | 在线观看 一区二区 麻豆 | 亚洲国产精品aa在线看 | 8050午夜一级全黄毛片 | 日本精品视频在线观看 | 一级片亚洲 | 好色婷婷| 视频在线欧美 | 国内精品视频一区二区三区八戒 | 欧美性网| 中文一级国产特级毛片视频 | 一区二区三区免费视频网站 | 四虎影视免费观看免费观看 | 日本人一级毛片免费视频 | 香蕉依依精品视频在线播放 | 日韩va亚洲va欧美va浪潮 | 91精品国产欧美一区二区 | 成人午夜亚洲影视在线观看 |