什麼是mvc模式

MVC是一個架構,或者說是一個設計模式,它就是強制性使應用程序的輸入,處理和輸出分開。將一個應用程序分爲三個部分:Model,View,Controller。

原理圖:

分析:

Model 模型(完成業務邏輯:由javaBean構成,在MVC的三個部件中,模型擁有最多的處理任務。例如它可能用象EJBs和javabean這樣的構件對象來處理數據庫。由於應用於模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重複性。)

View 視圖(就是負責跟用戶交互的界面。一般就是由HTML,css元素組成的界面,當然現在還有一些像js,ajax,flex一些也都屬於視圖層。 在視圖層裏沒有真正的處理髮生,之負責數據輸出,並允許用戶操縱的方式。MVC能爲應用程序處理很多不同的視圖。 )

Controller 控制器(接收請求—>調用模型—>根據結果派發頁面並經過模型處理返回相應數據 )

 

--------------------------------------------------------------------------

優點:
1、分工明確(開發人員可以只關注整個結構中的其中某一層):使用MVC可以把數據庫開發,程序業務邏輯開發,頁面開發分開,每一層都具有相同的特徵,方便以後的代碼維護。

                            它使程序員(Java開發人員)集中精力於業務邏輯,界面程序員(HTML和JSP開發人員)集中精力於表現形式上。
2、鬆耦合(可以降低層與層之間的依賴):視圖層和業務層分離,這樣就允許更改視圖層代碼而不用重新編譯模型和控制器代碼,同樣,一個應用的業務流程或者業務規則的改變只需要改動MVC的模型層即可。

                    因爲模型與控制器和視圖相分離,所以很容易改變應用程序的數據層和業務規則。 
3、複用性高(利於各層邏輯的複用):像多個視圖能夠共享一個模型,不論你視圖層是用flash界面或是wap界面,用一個模型就能處理他們。將數據和業務規則從表示層分開,就可以最大化從用代碼

3、有利於標準化(有利於通過工程化、工具化產生管理程序代碼);

 

概括來說,分層式設計可以達至如下目的:分散關注、鬆散耦合、邏輯複用、標準定義。

 

缺點:
分層式結構也不可避免具有一些缺陷:

1、有時會導致級聯的修改。這種修改尤其體現在自上而下的方向。如果在表示層中需要增加一個功能,爲保證其設計符合分層式結構,可能需要在相應的業務邏輯層和數據訪問層中都增加相應的代碼。
2、降低了系統的性能。這是不言而喻的。如果不採用分層式結構,很多業務可以直接造訪數據庫,以此獲取相應的數據,如今卻必須通過中間層來完成。

3、由於它沒有明確的定義,所以完全理解MVC並不是很容易。使用MVC需要精心的計劃,由於它的內部原理比較複雜,所以需要花費一些時間去思考。

4、MVC並不適合小型甚至中等規模的應用程序,花費大量時間將MVC應用到規模並不是很大的應用程序通常會得不償失。 

*如何改善:

第一個缺點,可以採用一些設計模式來到改善。

第二個缺點,可以通過系統的緩存機制來減小對性能的影響;

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