亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        MVC一體化開(kāi)發(fā)研究

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

        孔凡興

        [摘要]針對(duì)傳統(tǒng)MVC設(shè)計(jì)模式的缺點(diǎn),結(jié)合結(jié)構(gòu)型模式中Facade,Bridge和Dynamic Proxy模式設(shè)計(jì)理念,提出一種分布式系統(tǒng)的優(yōu)化Mvc模型,并將該模型應(yīng)用到J2EE在線考試管理系中。實(shí)踐表明,優(yōu)化的MVC型在應(yīng)用中具有良好的可重用性和擴(kuò)展性。

        [關(guān)鍵詞]結(jié)構(gòu)型模式Facade Bridge MVC

        中圖分類(lèi)號(hào):TP3立獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671--7597(2009)1020076--01

        設(shè)計(jì)模式是一套被反復(fù)使用、經(jīng)過(guò)驗(yàn)證的設(shè)計(jì)經(jīng)驗(yàn)的總結(jié),是在某一情景下類(lèi)似問(wèn)題的重復(fù)性解決方案。使用設(shè)計(jì)模式可改善代碼的可維護(hù)性和可重用性,讓開(kāi)發(fā)者從一個(gè)更高的視角進(jìn)行設(shè)計(jì)思考。然而,面對(duì)新的更加復(fù)雜的應(yīng)用需求,迫切需要尋找和設(shè)計(jì)更有效的設(shè)計(jì)模式來(lái)指導(dǎo)應(yīng)用程序開(kāi)發(fā)過(guò)程。

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

        一、優(yōu)化的MVC設(shè)計(jì)模式

        (一)引入Facade模式思想

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

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

        (二)引入Bridge模式思想

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

        (三)引入Dynamio Proxy模式思想

        問(wèn)題描述:HVC中模型對(duì)不同類(lèi)型數(shù)據(jù)訪問(wèn)效得需要的數(shù)據(jù)。DynamicProxy模式通過(guò)在運(yùn)行期構(gòu)建一個(gè)對(duì)接口的動(dòng)態(tài)實(shí)現(xiàn)類(lèi)來(lái)對(duì)目標(biāo)對(duì)象的代理,它在對(duì)間提供一個(gè)接口層,控制一個(gè)對(duì)象到另一個(gè)對(duì)象訪問(wèn)。利用Dynamic Proxy模式定義訪問(wèn)不同數(shù)源的接口,針對(duì)數(shù)據(jù)源不同類(lèi)型在實(shí)現(xiàn)的類(lèi)中定不同數(shù)據(jù)源的訪問(wèn)方法,獲取和操作數(shù)據(jù),能同時(shí)持多個(gè)數(shù)據(jù)庫(kù)。這樣當(dāng)數(shù)據(jù)庫(kù)類(lèi)型更換時(shí),不會(huì)及到商業(yè)邏輯代碼的大量修改。J2髓應(yīng)用中,Session Bean一般和客戶端應(yīng)用是一一對(duì)應(yīng),而和據(jù)庫(kù)聯(lián)系緊密的是Entity Bean(實(shí)體Bean),Proxy式實(shí)質(zhì)是在Entity Bean和數(shù)據(jù)源之間又多了一ProxyDAO的數(shù)據(jù)訪問(wèn)對(duì)象。Dynamic Proxy的引入系統(tǒng)的模型業(yè)務(wù)與數(shù)據(jù)存取分離,模型業(yè)務(wù)類(lèi)只責(zé)數(shù)據(jù)的操作,不涉及具體的數(shù)據(jù)源,當(dāng)數(shù)據(jù)發(fā)生化時(shí),不影響系統(tǒng)的業(yè)務(wù)處理。

        二、典型的網(wǎng)絡(luò)應(yīng)用

        (一)應(yīng)用實(shí)例

        以J2EE架構(gòu)在線考試試卷管理系統(tǒng)為例來(lái)明采用優(yōu)化MVC的分布式應(yīng)用模型的優(yōu)點(diǎn)。圖的UML的序列圖表示該系統(tǒng)進(jìn)行試卷管理的業(yè)流程,實(shí)現(xiàn)標(biāo)準(zhǔn)化試卷資源的數(shù)據(jù)庫(kù)管理,試卷資的共享和快速分發(fā),為學(xué)生用戶提供在線測(cè)試功能。

        (二)具體的實(shí)現(xiàn)方法

        1以試卷管理為例,將考試系統(tǒng)中的添加試卷、查試卷等業(yè)務(wù)子系統(tǒng)提供一個(gè)基于工作流的接口,入Facade模式。通過(guò)PaperFacade會(huì)話Bean進(jìn)行業(yè)務(wù)邏輯封裝,簡(jiǎn)化了原系統(tǒng)設(shè)計(jì),實(shí)現(xiàn)示例如下。publicclass PaperFacade implements SessionBean。以本例中試卷申請(qǐng)業(yè)務(wù)為例,采用傳統(tǒng)MVC模式Controller必須與數(shù)據(jù)實(shí)體對(duì)象直接遠(yuǎn)程交互,進(jìn)行一次試卷申請(qǐng)至少需要2次遠(yuǎn)程調(diào)用,而加入Facade層后在一個(gè)事務(wù)中就可以完成,而且將訪問(wèn)的多個(gè)數(shù)據(jù)屬性封裝到一個(gè)對(duì)象中傳遞減少網(wǎng)絡(luò)傳輸資源消耗??梢?jiàn),通過(guò)Facade會(huì)話層實(shí)現(xiàn)對(duì)事務(wù)的管理,避免了分布式對(duì)象之間遠(yuǎn)程調(diào)用的資源消耗。減輕控制器的負(fù)擔(dān),從而降低控制器和模式耦合。

        2加入Bridge模式的Web應(yīng)用。針對(duì)控制器與業(yè)務(wù)方法之間過(guò)于緊密問(wèn)題,解決方法是將抽象類(lèi)和它的實(shí)現(xiàn)部分放在不同的層次結(jié)構(gòu)。以試卷管理為例,將試卷管理分離成抽象類(lèi)AbsAdmin和它的實(shí)現(xiàn)類(lèi)^dminPaperImpl,業(yè)務(wù)操作類(lèi)(增加、刪除試卷)擴(kuò)展AdminPaperlmpl,并實(shí)現(xiàn)具體的業(yè)務(wù)操作action方法。在AbsAdmin類(lèi)中創(chuàng)建私有的AdminPaperImpl成員變量,在action方法調(diào)用adminimpl的業(yè)務(wù)方法。這樣就可以在控制器動(dòng)態(tài)決定具體執(zhí)行哪個(gè)業(yè)務(wù)方法,由具體的業(yè)務(wù)類(lèi)進(jìn)行實(shí)例化RefinedAbstration類(lèi)。

        av网站在线观看入口| 韩国av一区二区三区不卡| а天堂8中文最新版在线官网| 欧美天欧美天堂aⅴ在线| 亚洲av无码精品色午夜蛋壳| 午夜无码一区二区三区在线| 日韩精品极品视频在线观看蜜桃| 亚洲av成人久久精品| 久久精品人妻中文av| 亚洲精品国产一二三区| 亚洲成a v人片在线观看| 999国内精品永久免费视频| 91spa国产无码| 人妻无码中文专区久久综合| 精精国产xxxx视频在线播放器| 挑战亚洲美女视频网站| 偷拍一区二区三区黄片| 少妇爽到高潮免费视频| 在线人成视频播放午夜| 国产亚洲精品久久久ai换| 美女扒开内裤让男生桶| 国产啪精品视频网站免| 日本在线一区二区在线| 中国黄色一区二区三区四区| 国精产品一区一区三区| 99精品人妻无码专区在线视频区| 国产小受呻吟gv视频在线观看| 91制服丝袜| 探花国产精品三级在线播放| 美女被内射很爽的视频网站| 国产成人a∨激情视频厨房| 老少交欧美另类| 中文字幕永久免费观看| 亚洲av色香蕉一区二区三区蜜桃 | 亚洲人妻御姐中文字幕| 色熟妇人妻久久中文字幕| 97高清国语自产拍| 极品熟妇大蝴蝶20p| 一个人免费观看在线视频播放| 国产av一区二区三区香蕉| 日本按摩偷拍在线观看|