MVC框架理解及優缺點


MVC框架理解及優缺點
MVC:模型(Model)、視圖(View)、控制器(Control)

       流程如下:

            首先是視圖向控制器發送請求,控制器再將業務請求發送給模型,

       然后模型處理請求業務並把結果返回給控制器,控制器根據結果再選擇

       視圖。

      MVC的優點:

           1、低耦合性:

                視圖層和業務層分離,這樣就允許更改視圖層代碼而不用重新編譯模型和

               控制器代碼。同樣,一個應用的業務流程或者業務規則的改變只需要改動

          MVC的模型層即可,因為模型與控制器和視圖相分離,所以很容易改變應用

          程序的數據層和業務規則。

       2、高重用性和可適用性

          MVC模式允許你使用各種不同樣式的視圖來訪問同一個服務器端的代碼。它

          包括任何WEB(HTTP)瀏覽器或者無線瀏覽器(wap),例如:例如,很多數

          據可能用HTML來表示,但是也有可能用WAP來表示,而這些表示所需要的僅令

          是改變視圖層的實現方式,而控制層和模型層無需做任何改變。

       3、較低的生命周期成本

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

       4、快速的部署

          使用MVC模式使開發時間得到相當大的縮減,它使程序員(Java開發人員)

          集中 精力於業務邏輯,界面程序員(HTML和JSP開發人員)集中精力於表

          現形式上

       5、可維護性

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

       6、有利於軟件工程化管理

          由於不同的層各司其職,沒一層不同的應用具有某些相同的特征,有利於通過

          工程化、工具化管理程序代碼。

    MVC的缺點:

            1、增加了系統結構和實現的復雜性

            2、視圖與控制器間的過於緊密的連接

            3、視圖對模型數據的低效率訪問

            4、目前一般高級的界面工具或構造器不支持MVC模式,改造這些工具以適應

                MVC需要和建立分離的部件的代價很高,從而造成使用MVC的困難

    缺點:

    小型項目,反而會降低開發效率,雖然層與層之間相互分離,但之間關聯性太強,沒有做到獨立的重用。增加了系統結構和實現的復雜性。視圖對模型數據的低效率訪問。

以下轉載=============

一、MVC原理

百度百科:MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設計典范,用一種業務邏輯、數據、界面顯示分離的方法組織代碼,將業務邏輯聚集到一個部件里面,在改進和個性化定制界面及用戶交互的同時,不需要重新編寫業務邏輯。
另: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使用的困難。

借鑒於---
https://www.cnblogs.com/lxwphp/p/10456373.html

示例代碼
DODEL部分

View部分

Controller


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM