亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

Session Facade 的規(guī)則和模式(1)

2019-11-18 14:18:00
字體:
供稿:網(wǎng)友

  session Facade 的規(guī)則和模式(1)

在過去幾年中,EnterPRise javaBeans™(EJB)確實已經(jīng)開始對 Java™ 對象設(shè)計產(chǎn)生影響。期間,我們看到的最常使用的 EJB 模式之一是Session Facade 概念。這是一個讓很多開發(fā)者都受益匪淺的既強大又非常簡單的概念。然而,我也看到,對這一模式的確切含義及其在實踐中的應(yīng)用,人們?nèi)杂泻芏嗾`解。

為了把這個問題講得更明白些,我會在本文中講述 Facade 的一些基本概念以及Session Facade 模式的工作機制,并探討該模式衍生出來的一些問題。希望能借此澄清一些誤解,并幫助開發(fā)者正確使用這種模式。

什么是Session Facade?您又為什么需要它?

很多地方都有對Session Facade 模式的清楚描述,也就是 [Sun 2001] 和 [Brown 2000]。我不想照抄那里的全部內(nèi)容,而打算把它的理論在此作個總結(jié):基本的問題是在 EJB 設(shè)計中,EJB 客戶機(例如,Servelet、Java 應(yīng)用程序,等等)不可直接訪問 Entity bean。

之所以如此,有以下幾個原因:

當依靠 RMI-IIOP 進行跨越網(wǎng)絡(luò)的調(diào)用時運行態(tài)的性能會受到極大影響。假如客戶機請求一個Entity bean 去表示如包含兩項數(shù)據(jù)(比方說帳戶余額和帳戶所有者姓名)的銀行帳戶,則將需要兩個網(wǎng)絡(luò)調(diào)用。當大量屬性使網(wǎng)絡(luò)調(diào)用成倍增加時,很快這些開銷就會變得非常明顯。[Monson-Haefel] 中所說的批量訪問器(bulk accessors)或許是一種解決方案,所謂批量訪問器,就是Entity bean 上的一些方法,它們創(chuàng)建并返回值對象以表示Entity bean 中的數(shù)據(jù)。它事實上就是 Java VisualAge® 的 CopyHelper Access Beans 采用的解決方案。但是,它有一個令人遺憾的缺陷,就是它假設(shè)所有的請求都需要 EJB 中的“所有”數(shù)據(jù),結(jié)果為用戶返回了一些不必要的數(shù)據(jù),并導致對更大的值對象進行組織和分解時產(chǎn)生額外開銷。


更重要的是,假如您答應(yīng) EJB 客戶機直接訪問Entity bean,那么就要求客戶機了解Entity bean 的內(nèi)部方法,而這已經(jīng)超出了客戶機的應(yīng)知的范圍。例如,操作一個Entity bean 需要知道所涉及到的該實體的關(guān)系(關(guān)聯(lián),繼續(xù)),這樣就把業(yè)務(wù)模型的所有細節(jié)不適當?shù)乇┞督o了客戶機。另外,操作多個Entity bean 會要求使用客戶端事務(wù) ? 這是另一個使事情復雜化的因素,這意味著 EJB 可能要被從客戶機設(shè)計中除去,而不是添加上去。
大多數(shù)設(shè)計師已經(jīng)發(fā)現(xiàn)為了在 EJB 設(shè)計中避免直接訪問Entity bean 的解決方案都可以在 [Gamma] 中描述的 Facade 中找到。[Gamma] 這樣描述 Facade 模式:“為子系統(tǒng)中的一套接口提供了一個統(tǒng)一的接口。Facade 定義了一個更高層次的接口,使子系統(tǒng)更輕易使用?!?在 EJB 中應(yīng)用這種思想一般意味著您應(yīng)該創(chuàng)建一個擔當 Facade 的Session EJB,然后把構(gòu)成子系統(tǒng)的一套Entity bean “包裝”起來。這樣,客戶機就和Entity bean 實現(xiàn)的細節(jié)分離開來了,而且不必自己治理事務(wù)治理的細節(jié)。

但問題是有很多人到此就打住了。然后他們輕松地往下做,開始把Entity bean 包裝到Session bean 中,而不考慮 Facade 模式所描述的其它內(nèi)容以及 EJB 設(shè)計中由 Facade 模式衍生出來的問題。這很可能是由于把得到的 Facade 的“二手”信息都當真,而沒去研究原始模式的緣故。假如我們確實花了些時間去理解 Facade 衍生的問題,我們將可以看到很多該模式所固有的其它有益的設(shè)計可能性。

Facade 模式的要點

[Gamma] 中描述了很多我們應(yīng)該了解的 Facade 模式的要點。前面幾點可在 Facade 模式的“適用性”描述部分找到,它描述了在什么情況下您會需要應(yīng)用該模式。它們是:“當您想為復雜的子系統(tǒng)提供一個簡單接口時……請使用 Facade 模式”和“當您想把子系統(tǒng)分層時……請使用 Facade 模式。使用 Facade 為每一層子系統(tǒng)定義一個入口點?!?

從對 Facade 模式的討論中,我們可以提煉出兩個觀點。第一點是 Facade 應(yīng)該提供子系統(tǒng)的一個抽象視圖,而不是簡單地把整個子系統(tǒng)本身的 API 直接包裝起來。不幸的是,我在實際中多次看到開發(fā)者創(chuàng)建的Session bean 把Entity bean home 和Entity bean 對象的全部方法直接包裝起來,而不提供任何額外的抽象,這是對該模式最可惡的濫用情況之一。請記住,這種思想是想降低整個系統(tǒng)的復雜性,而不是把復雜性轉(zhuǎn)移到另一個對象上。

第二點,也是更微妙的一點,與分層有關(guān)。這個觀點認為您可以用多重 Facade 來隱藏下層子系統(tǒng)的細節(jié)。因此,在這里您可以這樣設(shè)想,Session Facade 應(yīng)該在其它 Facade 之上,位于最上層,是對底層業(yè)務(wù)邏輯細節(jié)的進一步抽象。這一點很要害。當您看完下面兩條(分別出自 [Gamma] 中論述 Facade 模式的“協(xié)作”和“相關(guān)模式”部分)敘述后,就會更加清楚這一點:

“客戶機通過把請求發(fā)送給 Facade,再由 Facade 把請求轉(zhuǎn)發(fā)給適當?shù)淖酉到y(tǒng)對象來與子系統(tǒng)通信?!?
“facade 只是對通往子系統(tǒng)對象的接口進行抽象以使它們更易于使用;它不定義新功能?!?
我把這幾點總結(jié)如下:Facade 不做系統(tǒng)的實際工作;而是委托其他對象輪流做這個工作。由此推理出您必須正確地放置這些對象,以便使該模式能按照您所期望的運行。

這一點是本模式的兩種流行表達 [Sun 2000] 和 [Sun 2001] 之間的主要不同之處。第一個版本,即 [Sun 2000],是 J2EE 規(guī)劃的一部分,它把這種模式稱為“Session Entity Facade”。它意在表明“為一堆企業(yè) beans 提供單一的接口”。它描述了這樣一種模式,即所有的數(shù)據(jù)存取都通過Entity bean 來完成,Session bean 則為這些Entity bean 提供接口?,F(xiàn)在的問題是 [Sun 2000] 不一定非要以 EJB 為中心。它根本不涉及其它對象類型,并且假設(shè)系統(tǒng)中只有 EJB 一類對象。根據(jù)我的經(jīng)驗,我認為這會導致根本不能在工程間重用的臃腫的Session對象,而且,在同一個工程內(nèi),當需求有一點不同時就會出現(xiàn)問題。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
国内精品久久久久久不卡影院| 日韩免费在线视频观看| 国产精品99免视看9| 青青草国产在线观看| 少妇久久久久久久| 亚洲午夜精品国产| 欧美日韩成人在线播放| 日韩av大全| 自拍偷拍18p| 国产精品丝袜一区二区| 国产精品美女一区二区在线观看| 日韩午夜精品电影| 国内精品偷拍视频| 欧美日韩另类国产亚洲欧美一级| 久久深夜福利免费观看| 在线视频国产一区| 87福利电影网| youjizz在线播放| 国产免费观看久久黄| 婷婷激情图片久久| av亚洲一区二区三区| 各处沟厕大尺度偷拍女厕嘘嘘| 日韩欧美视频在线免费观看| 日韩中文字幕在线视频| 国产精品视频一二区| 亚洲情综合五月天| 91国偷自产中文字幕久久| 亚洲高清资源在线观看| 精品国产百合女同互慰| 女优一区二区三区| 国产一区二区三区免费观看在线| 国产精品地址| 日韩精品四区| 欧美一区二区中文字幕| 久久久精品视频网站| 日本精品视频在线| 成人黄色网页| av大片免费看| 91中文字幕一区| 日本男人操女人| 色天使久久综合网天天| japanese日本护士撒尿| 日本一级特级毛片视频| 98精品国产自产在线观看| 99综合精品久久| 精品欧美一区二区三区| 97影院秋霞午夜在线观看| 亚洲天堂网站在线观看视频| 国语自产偷拍精品视频偷| 岛国精品资源网站| 亚洲精品之草原avav久久| 亚洲无码精品在线播放| 99国内精品久久久久| 成人a v视频| 国产精品亚洲片夜色在线| 久久影院一区二区三区| 在线一区观看| 日本三级黄色网址| 亚洲av综合色区无码一区爱av| 视频一区视频二区欧美| 国产激情欧美| 99riav视频一区二区| 最近中文字幕av免费高清| 免费看欧美一级片| 美女在线视频免费| 日韩在线观看免费| 99日韩精品| 好爽好深好紧好大| 日韩欧美一区三区| 亚洲精品无码久久久| 波多野结衣在线影院| av在线免费观看网| 日韩欧美国产成人精品免费| 一二三四在线观看免费高清中文在线观看| 香蕉视频在线观看黄| 男人免费av| 国产成人免费视频精品含羞草妖精| 欧美疯狂xxxx大交乱88av| 免费不卡在线观看av| 日韩亚洲欧美一区二区三区| 欧美午夜性视频| av亚洲天堂网| 中文字幕剧情在线观看| 亚洲欧美日韩另类精品一区二区三区| 欧美行性性性o00x| 日韩av三级在线| 男男做性免费视频网| 久久久久久91| 国产欧美一区二区精品忘忧草| 国产精品免费播放| 亚洲日本在线a| 成人综合视频在线| 国产精品大片| 一个人看的www久久| 日本三级免费网站| 国产精品jvid在线观看| 国产精品久久久久久超碰| 一本综合精品| 国产不卡精品视男人的天堂| 精品国产伦一区二区三区| 国产日韩欧美精品电影三级在线| 91在线观看喷潮| 国产欧美精品一区二区三区四区| 国产精品vvv| 五月婷婷丁香色| 欧美成人福利在线观看| 日本中文字幕免费| 香蕉视频国产在线| 另类国产ts人妖高潮视频| 91蝌蚪视频在线观看| 欧美激情精品久久久久久变态| 国产亚洲欧美一区在线观看| 国精产品一区一区三区视频| 黄视频在线免费| 青青久久av| 电影中文字幕一区二区| 亚洲高清乱码| 久久久777精品电影网影网| 调教视频在线观看| 欧美丝袜在线观看| 欧美另类z0zx974| 麻豆成人在线观看| 四虎5151久久欧美毛片| 丰满人妻一区二区三区免费视频棣| 免费的av电影| 国产男女无遮挡猛进猛出| 久久久久久久久久网| 欧美日韩91| 熟妇女人妻丰满少妇中文字幕| 男女做暖暖视频| 亚洲天堂网在线视频| 成人有码在线播放| 日产中文字幕在线精品一区| 欧美日韩激情在线一区二区三区| 影音先锋国产精品| 久久综合色一本| 日韩欧美第二区在线观看| 久久99在线观看| 99热在线观看精品| 99re6在线精品视频免费播放| 亚洲欧美日韩国产一区| 欧亚一区二区三区| 精品一区二区三区免费毛片| 亚洲毛片在线免费| 九九99玖玖| 韩国黄色一级大片| 国产精品一区一区| 日韩精品欧美在线| 美女精品视频| 人人狠狠综合久久亚洲| 久久久av一区| 国产成人强伦免费视频网站| 中文字幕第一页在线播放| 国产日韩一区二区在线观看| 韩国美女久久| 久久人妻精品白浆国产| 色综合久久久久综合99| 亚洲视频一区| 欧美精品福利视频| 成人在线观看www| 岛国在线视频免费看| 亚洲人精品午夜| 不卡一区二区在线观看| heyzo高清国产精品| 国产精品久久久久久久久久久久久久久久久| 高潮一区二区三区乱码| 亚洲图区综合网| 色综合伊人色综合网| 激情综合网五月天| 欧美日韩亚洲国产精品| 经典三级在线| 黄瓜视频在线免费观看| 99久久99久久精品| 男女高潮又爽又黄又无遮挡| 欧美xxxx老人做受| 国产91精品在线播放| 久久99久久亚洲国产| 美国做受三级的视频播放| 日韩精品极品视频| www日韩欧美| 92看片淫黄大片看国产片| 日韩欧美综合在线| 亚洲欧洲美洲综合色网| 欧美激情一区二区三区p站| 欧美激情视频播放| 丁香婷婷综合激情五月色| 三级电影一区| 国产精品18p| 黑人巨大精品欧美一区二区一视频| 亚洲免费成人av| 成人福利视频在| 国产精品视频中文字幕| 久久99久久久久久久久久久| 在线观看精品国产| 欧美一区二区三区四区高清| 国产成人一区| 99精品欧美一区二区三区小说| 亚洲久久久久久久久久| 精品xxxxxbbbb欧美中文| 国产精品jizz在线观看麻豆| 国产亚洲福利社区| 精品美女在线播放| 亚洲大胆美女视频| eeuss影院www在线观看手机| 国产精品无码一区二区在线| 成人免费毛片网| 亚洲电影一级黄| 久久精品道一区二区三区| 日韩一区二区视频在线观看| 国产在线视频三区| 成人网址在线观看| 麻豆视频在线免费观看| 中文字幕一区二区三三| 狠狠爱一区二区三区| 九一九一国产精品| 免费观看成人毛片| 精品国产免费人成网站| 国产男小鲜肉同志免费| 乱小说欧美综合| 4438全国亚洲精品观看视频| 欧美在线999| 波多野结衣小视频| 国产福利影院在线观看| 91制片厂毛片| a级黄色片网站| 同产精品九九九| 欧美中文字幕一二三四区| 成人污视频在线观看| 亚洲一本大道在线| 亚洲综合999| 999国产精品999久久久久久| 欧美视频在线免费看| 不卡伊人av在线播放| 9色视频在线观看| 成人视屏免费看| 五月婷婷综合激情网| 欧美人善交videosg| 深夜免费福利视频| 欧美 中文字幕| 羞羞视频在线观看欧美| 久久精品亚洲精品国产欧美| 久久99久久99精品蜜柚传媒| 蜜桃狠狠色伊人亚洲综合网站| 国产精品一久久香蕉国产线看观看| 性xx色xx综合久久久xx| 亚洲午夜久久久影院| 亚洲一区二区三区四区视频| 日韩亚洲欧美成人| 国产精品综合久久| 久久精品欧美视频| 日本在线一二三区| 男女h黄动漫啪啪无遮挡软件| 天天躁日日躁狠狠躁av麻豆男男| 亚洲精品看片| 欧美精品少妇一区二区三区| 久久午夜色播影院免费高清| 麻豆精品蜜桃视频网站| 女同性恋一区二区三区| jizz国产精品| 女人色偷偷aa久久天堂| 免费精品在线视频| 亚洲一区免费在线| 日韩国产在线观看| 日韩一区在线视频| 国产乱人伦真实精品视频| 欧美午夜在线观看| 一区 二区 三区| 日韩va欧美va亚洲va久久| 欧美精品福利在线| 日韩精品在线电影| 91久久国产综合久久91精品网站| 你懂的视频网| 久久国产欧美精品| 亚洲第一页视频| 中文字幕在线播放不卡| 亚洲观看黄色网| 日本免费在线视频观看| 欧美三级乱码| 成人看片app| 婷婷久久综合九色国产成人| 欧美videos另类精品| 色999日韩自偷自拍美女| 丝袜诱惑制服诱惑色一区在线观看| 色婷婷激情一区二区三区| 午夜高潮免费视频| 人妻精品一区二区三区| 欧美一区二区三区成人精品| 国产成人一区二区三区电影| 久久久久久69| 我要看黄色一级片| 国产黄色网址在线观看| 欧美大片免费观看| 天堂网中文字幕| 亚洲 精品 综合 精品 自拍| 久久久久青草大香线综合精品| 成人污污www网站免费丝瓜| 人妻少妇无码精品视频区| 精品麻豆国产| 欧美丰满美乳xxx高潮www| 色婷婷久久一区二区| 久久99精品国产99久久6尤物| 蜜桃999成人看片在线观看| 欧美理论影院| 五月婷婷一区二区| 久久国产99| 亚洲图片欧美另类| 少妇一级淫片免费放播放| 国产a免费视频| 欧美精品免费在线观看| 色婷婷av一区二区三| 成人性做爰aaa片免费看不忠| 青青青国内视频在线观看软件| 粉嫩91精品久久久久久久99蜜桃| www.91在线| 亚洲电影激情视频网站| 国产大奶在线| 91精品免费在线观看| 黄色高清无遮挡| 男女午夜激烈无遮挡| 国产97在线|日韩| 亚洲精品在线影院| 亚洲影音先锋| 国产成人无遮挡在线视频| 色老头一区二区| 亚洲美女性生活视频| 久久久久久久久黄色| 美女视频黄的免费| 久热免费在线观看|