錢潔萍

摘 要:MVC核心思想是將整個程序代碼分成相對獨立而又能協同工作的三個組成部分。采用三層軟件設計架構后,軟件系統在可擴展性、可復用性和安全性方面得到極大提高。Struts所采用的是MVC模式,通過這種模式能夠很好的幫助JAVA開發者們利用J2EE開發Web的應用。按照struts構架的web應用程序是一個傳統MVC設計模式的一種變化類型。
關鍵詞:MVC模式 Struts架構 業務邏輯
中圖分類號:TP3 文獻標識碼:A 文章編號:1673-9795(2013)03(a)-0204-01
隨著Internet技術的廣泛使用,Web也越來越受到廣泛的應用,其規模也發展的越來越大,這使得開發人員所意識到了:如今使用Web的領域越來越多,而動態Web在應用時維護成本也逐漸變大,只是單純的使用ASP或者JSP來充當頁面中的大多角色,這對于后期的維護是相當不利的。開發人員在開始應用Web模式時使用的是一種叫MVC的模式,采用一種優秀的分層思想,力圖解決Web應用維護困難的問題。引入MVC模式,提供了更好的可擴展性及可維護性,更適用于大規模應用的開發,但也增加了前期開發的難度所在。
Struts是MVC的一種實現,它繼承了MVC的各項特性,并根據J2EE的特點,做了相應的變化與擴展。Struts架構有自己的控制器,同時整合了其他的一些技術去實現模型層和視圖層。Struts為每個專業的Web 應用程序做背后的支撐,為應用創建一個擴展的開發環境。
1 MVC模式設計思想
MVC思想將一個應用分為三個部分:Model(模型)、View(視圖)和Controller(控制器),這三部分以最少的耦合協同工作,從而提高應用的可擴展性及可維護性。在MVC模式中,控制器根據事件的類型改變模型或視圖,反之亦然。多個視圖注冊到同一個模型,每一個模型對應一系列的視圖列表,當模型發生變化時,模型向所有注冊過的視圖發出通知,視圖從相應的模型中獲取信息,并更新視圖顯示。
2 MVC模式結構
MVC強制性地使應用程序的輸入、處理和輸出分開,應用程序被分成三個核心部件,它們各司其職。視圖、模型、控制器。如圖1所示,描述了三者之間的關系。
3 MVC模式實現
實現基于MVC的實際應用需要注意以下幾方面工作:第一,具體分析應用問題,并對系統進行全面的分離。將分離出來三大部分,分別是內核功能、對功能的控制輸入以及系統的輸出行為。第二,構造和實現每個控制器。控制器的初始化建立起與模型和視圖相聯系,最終啟動事件處理機制。而事件的處理機制是依賴于界面的工作平臺來實現的。第三,通過使用能夠安裝及卸載的控制器,容易形成高度的靈活性的應用。控制器與視圖的分離,做到了視圖與不同的控制器相結合的靈活性,從而實現了不同的操作模式。
4 MVC模式優缺點
MVC模式優點:(1)松耦合。(2)重用性高。(3)產品的結構清晰。
MVC模式不足:(1)增加了系統結構和實現的復雜性。(2)視圖對模型數據的低效率訪問。(3)MVC不適合小型應用程序。
5 Struts體系結構與工作原理
Struts為Web應用提供了一個通用框架,并提供了許多供擴展和定制的地方,應用程序可方便地擴展框架以更好地適應用戶的實際需求。框架中分為:模型,視窗和控制器三大部分。模型指的是:系統的內部狀態和可以將其改變的狀態的操作(又名:事物邏輯)。視窗指的是:Struts中包含擴展自定義的標簽庫,從而可以簡化并創建完全國際化用戶界面的全過程。控制器指的是:在Struts中基本的控制器組件是ActionServlet中的實例servlet,在實際使用的servlet的配置文件中由一組映射進行定義。Struts體系結構與工作原理如圖2所示。
6 Struts架構特點
靈活應用Struts的標簽庫就能大大提高開發效率,在JSP中用戶也能自定義標簽。頁面導航使系統脈絡更加清晰,通過配置文件掌握整個系統各部分之間的聯系,對于后期維護極為有利,維護擴展方便的優勢體現明顯。表現與邏輯分離,便于團隊開發。
7 結語
采用MVC設計模式可以在滿足對界面要求的同時,使軟件的計算模型獨立于界面的構成。本文介紹了MVC的三個組成構件(模型、視圖和控制器),以及實現基于MVC的應用需要完成的工作并對MVC的優點及不足之處進行了分析。Struts采用MVC模式,面向對象設計,能夠很好地幫助java開發者利用J2EE開發Web應用。Structs框架的核心是一個彈性的控制層,同時整合了其他的一些技術去實現模型層(Model)和視圖層(View)。Struts將MVC模式“分離顯示邏輯和業務邏輯”的能力發揮得淋漓盡致。
參考文獻
[1] 楊曉軍.MVCWeb開發學習實錄[M].清華大學出版社,2011,7.
[2] 李剛.Struts 2.1權威指南—— 基于WebWork核心的MVC開發[M].電子工業出版社,2009,5.