亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MVC設計模式的詳細介紹

發布時間:2020-10-29 14:20:39 來源:億速云 閱讀:151 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關MVC設計模式的詳細介紹,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Model View Controller簡稱MVC,即模型視圖控制器。MVC設計模式指定應用程序由數據模型、呈現信息和控制信息組成。該模式要求將每個模式分成不同的對象。

MVC更像是一種架構模式,但并不適用于完整的應用程序。MVC主要與應用程序的UI 交互層有關。你仍然需要業務邏輯層,可能還需要一些服務層和數據訪問層。

MVC設計模式的詳細介紹

模型(Model)只包含純應用程序數據,不包含描述如何將數據呈現給用戶的邏輯。

視圖(View)向用戶顯示模型的數據。視圖知道如何訪問模型的數據,但它不知道這些數據意味著什么,也不知道用戶可以做什么來操作它。

控制器(Controller)存在于視圖和模型之間。它偵聽視圖(或其他外部源)觸發的事件,并對這些事件執行適當的響應。在大多數情況下,響應是調用模型上的方法。由于視圖和模型是通過通知機制連接的,因此此操作的結果將自動反映在視圖中。

讓我們看一個MVC設計模式的例子。

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; 
    } 
} 
  
class StudentView  
{ 
    public void printStudentDetails(String studentName, String studentRollNo) 
    { 
        System.out.println("學生: "); 
        System.out.println("姓名: " + studentName); 
        System.out.println("編號: " + studentRollNo); 
    } 
} 
  
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()); 
    }     
} 
  
class MVCPattern  
{ 
    public static void main(String[] args)  
    { 
        Student model  = retriveStudentFromDatabase(); 
  
        StudentView view = new StudentView(); 
  
        StudentController controller = new StudentController(model, view); 
  
        controller.updateView(); 
  
        controller.setStudentName("Vikram Sharma"); 
  
        controller.updateView(); 
    } 
  
    private static Student retriveStudentFromDatabase() 
    { 
        Student student = new Student(); 
        student.setName("Lokesh Sharma"); 
        student.setRollNo("15UCS157"); 
        return student; 
    } 
      
}

輸出:

學生: 
姓名: Lokesh Sharma
編號: 15UCS157
學生: 
姓名: Vikram Sharma
編號: 15UCS157

優勢

? 多個開發人員可以同時處理模型、控制器和視圖。

? MVC支持對控制器上的相關操作進行邏輯分組。特定模型的視圖也被分組在一起。

? 模型可以有多個視圖。

缺點

? 框架導航可能很復雜,因為它引入了新的抽象層,并且要求用戶適應MVC的分解標準。

? 多種技術的知識成為規范。使用MVC的開發人員需要精通多種技術

關于MVC設計模式的詳細介紹就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

分宜县| 防城港市| 桦甸市| 翁牛特旗| 新郑市| 新建县| 高青县| 左云县| 策勒县| 宁波市| 工布江达县| 介休市| 永顺县| 宜君县| 鸡西市| 隆回县| 靖边县| 迁安市| 盘山县| 渝北区| 泸水县| 金昌市| 常山县| 嘉善县| 鹰潭市| 广平县| 周宁县| 阳高县| 马山县| 驻马店市| 汪清县| 商洛市| 图们市| 沭阳县| 北宁市| 吴堡县| 桐庐县| 秀山| 吉林省| 康保县| 诸城市|