標籤:維護 標準化 可維護性 ret 變化 模式 標準 play 擴充
一,什麼是MVC模式
該模式是一種軟體設計典範,他把軟體系統劃分為三個基本部分:模型層(Model)、視圖層(View)、控制器(Controller)
*Model(模型)表示應用程式核心(比如資料庫記錄列表)
*View(視圖)顯示資料(資料庫記錄)
*Controller(控制器)處理輸入(寫入資料庫記錄)
Model(模型)是應用程式中用於處理應用程式資料邏輯的部分,通常模型對象負責在資料庫中存取資料
View(視圖)是應用程式中處理資料顯示的部分,通常視圖是依據模型資料建立的
Controller(控制器)是應用程式中處理使用者互動的部分,通常控制器負責從視圖讀取資料,控制使用者輸入,並向模型發送資料
二,MVC模式的目的
第一,其目的是實現程式的動態設計,使後續程式的修改和擴充簡化,並且能夠使程式的某一部份的重複利用成為可能
第二,有助於管理複雜的應用程式,我們可以在一個時間專門關注一個方面,同事也讓應用程式的測試更加容易
第三,簡化了分組開發,不同的人員可同時開發視圖、控制器邏輯、模型邏輯,加快了開發速度
三、MVC工作原理圖
註:什麼是Javabean?
JavaBean:它是一個簡單的Java類。這個類中擁有get或set方法即可,但要求這個類必須有一個公開的空參數的建構函式。並擁有一些簡單的邏輯參與。但是在實際應用中,經常只需要類中添加get或set方法的簡單Java類。在開發中經常把這樣的類稱為JavaBean對象或者實體類對象。這樣的類開發中經常書寫在domain或者beans包下。舉例如下:
public class User {
private String id;
private String username;
private String password;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
四,MVC模式的優點
第一,開發人員可以只關注三層中的其中的某一層
第二,可以很容易的用新的實現來替換原有層次的實現,可維護性提高了
第三,可以降低層與層之間的依賴,耦合性降低了
第四,有利於標準化和軟體工程化管理
第五,利於各層邏輯的複用,重用性提高了
五,MVC模式的缺點
第一,增加了系統結構和實現的複雜性
對於簡單的介面,嚴格遵循MVC,使模型、視圖與控制器分離,會增加結構的複雜性,並可能產生過多的更新操作,降低運行效率。
第二,不適合小型或者中等規模的應用程式
花費大量時間將MVC應用到規模並不是很大的應用程式通常會得不償失
第三,視圖與控制器串連的過於緊密
視圖與控制器是相互分離,但卻是聯絡緊密的組件,視圖沒有控制器的存在,其應用是很有限的,反之亦然,這樣就妨礙了他們的獨立重用。
第四,視圖對模型資料的低效率訪問
依據模型操作介面的不同,視圖可能需要多次調用才能獲得足夠的顯示資料。對未變化資料的不必要的頻繁訪問,也將損害操作效能。
深入理解MVC模式