91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

蒙自县| 盈江县| 庆安县| 抚顺县| 德庆县| 西平县| 淄博市| 宾阳县| 岱山县| 林口县| 濉溪县| 怀仁县| 合阳县| 岳阳县| 星子县| 财经| 嘉善县| 页游| 呼伦贝尔市| 竹溪县| 昌都县| 奉化市| 光山县| 琼结县| 芦山县| 阿拉尔市| 宜兰县| 锡林浩特市| 郎溪县| 泰和县| 南丰县| 张家港市| 普兰店市| 克什克腾旗| 长岭县| 常山县| 墨江| 礼泉县| 黑水县| 宿迁市| 荣昌县|