mvc原理和mvc模式的優缺點
一、mvc原理 mvc是一種程式開發設計模式,它實現了顯示模組與功能模組的分離。提高了程式的可維護性、可移植性、可擴充套件性與可重用性,降低了程式的開發難度。它主要分模型、檢視、控制器三層。 1、模型(model)它是應用程式的主體部分,主要包括業務邏輯模組(web專案中的Action,dao類)和資料模組(pojo類)。模型 與資料格式無關,這樣一個模型能為多個檢視提供資料。由於應用於模型的程式碼只需寫一次就可以被多個檢視重用,所以減少了程式碼的重複性 2、檢視(view) 使用者與之互動的介面、在web中檢視一般由jsp,html組成 3、控制器(controller)接收來自介面的請求 並交給模型進行處理 在這個過程中控制器不做任何處理只是起到了一個連線的做用 二、MVC的優點 1、可以為一個模型在執行時同時建立和使用多個檢視。變化-傳播機制可以確保所有相關的檢視及時得到模型資料變化,從而使所有關聯的檢視和控制器做到行為同步。 2、檢視與控制器的可接插性,允許更換檢視和控制器物件,而且可以根據需求動態的開啟或關閉、甚至在執行期間進行物件替換。 3、模型的可移植性。因為模型是獨立於檢視的,所以可以把一個模型獨立地移植到新的平臺工作。需要做的只是在新平臺上對檢視和控制器進行新的修改。 4、潛在的框架結構。可以基於此模型建立應用程式框架,不僅僅是用在設計介面的設計中。 三、MVC的不足之處 1、增加了系統結構和實現的複雜性。對於簡單的介面,嚴格遵循MVC,使模型、檢視與控制器分離,會增加結構的複雜性,並可能產生過多的更新操作,降低執行效率。 2、檢視與控制器間的過於緊密的連線。檢視與控制器是相互分離,但確實聯絡緊密的部件,檢視沒有控制器的存在,其應用是很有限的,反之亦然,這樣就妨礙了他們的獨立重用。 3、檢視對模型資料的低效率訪問。依據模型操作介面的不同,檢視可能需要多次呼叫才能獲得足夠的顯示資料。對未變化資料的不必要的頻繁訪問,也將損害操作效能。 4、目前,一般高階的介面工具或構造器不支援模式。改造這些工具以適應MVC需要和建立分離的部件的代價是很高的,從而造成MVC使用的困難。