999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

MVC一體化開發研究

2009-06-22 03:41:14孔凡興
新媒體研究 2009年20期

孔凡興

[摘要]針對傳統MVC設計模式的缺點,結合結構型模式中Facade,Bridge和Dynamic Proxy模式設計理念,提出一種分布式系統的優化Mvc模型,并將該模型應用到J2EE在線考試管理系中。實踐表明,優化的MVC型在應用中具有良好的可重用性和擴展性。

[關鍵詞]結構型模式Facade Bridge MVC

中圖分類號:TP3立獻標識碼:A文章編號:1671--7597(2009)1020076--01

設計模式是一套被反復使用、經過驗證的設計經驗的總結,是在某一情景下類似問題的重復性解決方案。使用設計模式可改善代碼的可維護性和可重用性,讓開發者從一個更高的視角進行設計思考。然而,面對新的更加復雜的應用需求,迫切需要尋找和設計更有效的設計模式來指導應用程序開發過程。

Model-Yiew-Control(MVC)模式是目前國內外較流行、高效的設計模式之一。然而傳統的MVC模式還存在一些不盡人意的地方,控制器與模型之間保持清晰的界限,不同層次之間的頻繁的通信會消耗大量的系統資源;每個控制器直接與業務邏輯相關聯,當業務邏輯改變時,需改變與該業務相應的控制器;對不同類型數據的低效率訪問,模型操作的接口不同,需要多次調用才能獲得需要的數據。為克服MVC模式以上的缺點,結合Fa-cade,Bridge和Dynamic Proxy幾種典型模式各自的特點來改進傳統MVC模式的不足,從而解決傳統MVC模式中信息通信資源消耗大、控制器與業務邏輯高耦合等缺點,提高了系統的靈活性和開發效率。

一、優化的MVC設計模式

(一)引入Facade模式思想

問題描述:由于MVC在不同程序邏輯之間要保持清晰的界限,因此在不同層次之間的通信會有性能上的損失,控制器與模型之間的回路信息會消耗大量的系統資源。

Facade模式的思想是提供一個統一的高層次接口,使得子系統更容易調用。在Mvc模式中引入Facade模型,將復雜的業務邏輯分成多個子系統,Facade模式采用Session Bean(會話Bean)作為較高邏輯提供統一的接口,將系統的業務邏輯集中,從而降低客戶端與服務器之間的耦合度,降低系統的復雜性。在分布式環境中Facade模型的引入為遠程對象提供了粗粒度的訪問,減少客戶端與服務器之間頻繁的調用,提高了系統性能。

(二)引入Bridge模式思想

問題描述:MVC中每個控制器直接與業務邏輯相關聯,當業務邏輯改變時,需改變與該業務相關的控制器。Bridge的主要思想是將抽象與實現分離,使它們可以獨立地變化,當僅使用Session Facade模式時,客戶端與EJB(Enterprise Java Bean)層緊密的耦合,形成控制器和業務邏輯的強依賴關系。Bridge模式在抽象類和它的實現類之間提供一個分層,控制一個對象到另一個對象的訪問,因此,采用Bridge來創建中間構件可以分離客戶端和Sesslon Bean之間耦合關系。在實際應用,將同組業務邏輯設計成為抽象類,由具體的業務類邏輯來實現,應用Java反向映射機制,控制器使用XML分析器來根據不同的模塊配置進行Bridge抽象類實例化,再調用其方法,而不需要知道它請求的具體行為。Bridge在抽象類與實現之間,起到了橋梁作用,使控制器和業務邏輯可以獨立變化。

(三)引入Dynamio Proxy模式思想

問題描述:HVC中模型對不同類型數據訪問效得需要的數據。DynamicProxy模式通過在運行期構建一個對接口的動態實現類來對目標對象的代理,它在對間提供一個接口層,控制一個對象到另一個對象訪問。利用Dynamic Proxy模式定義訪問不同數源的接口,針對數據源不同類型在實現的類中定不同數據源的訪問方法,獲取和操作數據,能同時持多個數據庫。這樣當數據庫類型更換時,不會及到商業邏輯代碼的大量修改。J2髓應用中,Session Bean一般和客戶端應用是一一對應,而和據庫聯系緊密的是Entity Bean(實體Bean),Proxy式實質是在Entity Bean和數據源之間又多了一ProxyDAO的數據訪問對象。Dynamic Proxy的引入系統的模型業務與數據存取分離,模型業務類只責數據的操作,不涉及具體的數據源,當數據發生化時,不影響系統的業務處理。

二、典型的網絡應用

(一)應用實例

以J2EE架構在線考試試卷管理系統為例來明采用優化MVC的分布式應用模型的優點。圖的UML的序列圖表示該系統進行試卷管理的業流程,實現標準化試卷資源的數據庫管理,試卷資的共享和快速分發,為學生用戶提供在線測試功能。

(二)具體的實現方法

1以試卷管理為例,將考試系統中的添加試卷、查試卷等業務子系統提供一個基于工作流的接口,入Facade模式。通過PaperFacade會話Bean進行業務邏輯封裝,簡化了原系統設計,實現示例如下。publicclass PaperFacade implements SessionBean。以本例中試卷申請業務為例,采用傳統MVC模式Controller必須與數據實體對象直接遠程交互,進行一次試卷申請至少需要2次遠程調用,而加入Facade層后在一個事務中就可以完成,而且將訪問的多個數據屬性封裝到一個對象中傳遞減少網絡傳輸資源消耗。可見,通過Facade會話層實現對事務的管理,避免了分布式對象之間遠程調用的資源消耗。減輕控制器的負擔,從而降低控制器和模式耦合。

2加入Bridge模式的Web應用。針對控制器與業務方法之間過于緊密問題,解決方法是將抽象類和它的實現部分放在不同的層次結構。以試卷管理為例,將試卷管理分離成抽象類AbsAdmin和它的實現類^dminPaperImpl,業務操作類(增加、刪除試卷)擴展AdminPaperlmpl,并實現具體的業務操作action方法。在AbsAdmin類中創建私有的AdminPaperImpl成員變量,在action方法調用adminimpl的業務方法。這樣就可以在控制器動態決定具體執行哪個業務方法,由具體的業務類進行實例化RefinedAbstration類。

主站蜘蛛池模板: 欧美另类一区| 男女精品视频| 91福利国产成人精品导航| 国产成人精品一区二区免费看京| 不卡视频国产| 亚洲综合极品香蕉久久网| 亚洲无码日韩一区| 一级片一区| 91香蕉国产亚洲一二三区| 无码综合天天久久综合网| 成年A级毛片| 97影院午夜在线观看视频| 手机永久AV在线播放| 黄色a一级视频| 美女裸体18禁网站| 就去吻亚洲精品国产欧美| 在线毛片网站| 免费观看成人久久网免费观看| 久久国产精品77777| 国产欧美日韩资源在线观看| 欧美亚洲一区二区三区导航| 国产精品网址在线观看你懂的| 国产福利大秀91| 国产精品区网红主播在线观看| 国产精品流白浆在线观看| 欧美一区二区三区不卡免费| 日韩a级毛片| 成人噜噜噜视频在线观看| 香蕉视频在线观看www| 免费看的一级毛片| 日本免费福利视频| 99热这里只有精品在线播放| 亚洲天堂2014| 国产精品自在拍首页视频8| 99热最新网址| 国产真实自在自线免费精品| 国产精品第| 久久精品人人做人人综合试看| 中文字幕天无码久久精品视频免费| 国产精品欧美激情| 国产一区二区精品高清在线观看| 久久精品女人天堂aaa| 波多野结衣中文字幕久久| 国产黄色片在线看| 无码内射中文字幕岛国片| 色天天综合久久久久综合片| 在线色综合| 欧美亚洲香蕉| 亚洲女人在线| 久久国产精品娇妻素人| 伊人久久久久久久| 国产亚洲视频中文字幕视频| 国产精品999在线| 2018日日摸夜夜添狠狠躁| 成人中文字幕在线| 特级欧美视频aaaaaa| YW尤物AV无码国产在线观看| 国产精品美女在线| 国外欧美一区另类中文字幕| 国产一区在线视频观看| 大陆精大陆国产国语精品1024| 国产丝袜一区二区三区视频免下载| 日韩国产 在线| 99激情网| a级毛片网| 精品国产免费观看| 久久男人视频| 国产成人精品亚洲77美色| 欧美一级99在线观看国产| 97超级碰碰碰碰精品| 亚洲成a∧人片在线观看无码| 中文一级毛片| AV老司机AV天堂| 国产精品久久精品| 亚洲全网成人资源在线观看| 四虎精品国产永久在线观看| 精品视频一区二区观看| a毛片免费看| 欧美亚洲激情| 精品第一国产综合精品Aⅴ| 亚洲成年网站在线观看| 婷婷亚洲天堂|