設計模式中的三好學生:MVC模式

MVC模式是一種編程規範,MVC就是我們常說的:模型(Model)、視圖(View)和控制Controller),以前的Jsp頁面把所有的代碼都寫在Jsp頁面中,不利於維護。因此MVC將業務處理和Jsp頁面分開,目的是爲了實現Web系統的職能分工。

MVC模式的優點主要有:

1.耦合性低

視圖層和業務層分離,這種情況下就可以更改視圖層代碼而不用重新編譯模型和控制器代碼,同樣,一個應用的業務流程或者業務規則的改變只需要改動MVC的模型層即可。因爲模型與控制器和視圖相分離,改變應用程序的數據層和業務規則變得更容易。

2.重用性高

隨着技術的不斷進步,需要用越來越多的方式來訪問應用程序。MVC模式下,多個視圖能共享一個模型,因些允許使用各種不同樣式的視圖來訪問同一個服務器端的代碼,包括任何WEB(HTTP)瀏覽器或者無線瀏覽器(wap)。

比如,用戶可以通過電腦也可通過手機來訂購某樣產品,雖然訂購的方式不一樣,但處理訂購產品的方式是一樣的。由於模型返回的數據沒有進行格式化,所以同樣的構件能被不同的界面使用。

MVC使開發和維護用戶接口的技術含量降低。

3.可維護性高

分離視圖層和業務邏輯層也使得WEB應用更易於維護和修改。

4.部署快

使用MVC模式使開發時間得到相當大的縮減,它使程序員(Java開發人員)集中精力於業務邏輯,界面程序員(HTML和JSP開發人員)集中精力於表現形式上。

5.有利軟件工程化管理

MVC模式讓不同的層各司其職,每一層不同的應用具有某些相同的特徵,有利於通過工程化、工具化管理程序代碼。控制器也提供了一個好處,就是可以使用控制器來聯接不同的模型和視圖去完成用戶的需求,這樣控制器可以爲構造應用程序提供強有力的手段。給定一些可重用的模型和視圖,控制器可以根據用戶的需求選擇模型進行處理,然後選擇視圖將處理結果顯示給用戶。

6.有利於開發中的分工

在MVC模式中,按層把系統分開,因些可以更好的實現開發中的分工。網頁設計人員可以進行開發視圖層中的JSP,對業務熟悉的開發人員可開發業務層,而其它開發人員可開發控制層。

當然,MVC也有他的不足,主要體現在這幾個方面:

1.增加了系統結構和實現的複雜性。對於簡單的界面,嚴格遵循MVC,使模型、視圖與控制器分離,會增加結構的複雜性,並且可能因此產生過多的更新操作,降低運行效率。

2.視圖與控制器間過於緊密的連接,妨礙了他們的獨立重用。雖然視圖與控制器相互分離,但卻是聯繫緊密的部件,視圖沒有控制器的存在,其應用是很有限的,反之亦然。

3.現階段,高級的界面工具或構造器一般不支持MVC架構。使用MVC需要改造這些工具,代價太高。

4.視圖對模型數據的低效率訪問。依據模型操作接口的不同,視圖可能需要多次調用才能獲得足夠的顯示數據。對未變化數據的不必要的頻繁訪問,也將降低操作性能。

公衆號:w3c技術教程

www.w3cschool.cn專業的web技術教程、手冊、工具。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章