業(yè)務層設計之一(BusinessDelegate)_第1頁
業(yè)務層設計之一(BusinessDelegate)_第2頁
業(yè)務層設計之一(BusinessDelegate)_第3頁
業(yè)務層設計之一(BusinessDelegate)_第4頁
業(yè)務層設計之一(BusinessDelegate)_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、業(yè)務層設計之一(BusinessDelegate)業(yè)務層設計之一 (BusinessDelegate)Business Delegate( 業(yè)務代表 )問題當客戶端直接訪問遠程業(yè)務服務組件時,可能發(fā)生以下問題。降低了系統(tǒng)的靈活性。 客戶端代碼隨著業(yè)務服務接口的代碼的改變而改變。緊耦合。降低了系統(tǒng)的網(wǎng)絡傳輸性能。 一個操作需要進行多次細粒度的遠程交互??蛻舳税讓蛹軜嫶a。 包括 JNDI, 網(wǎng)絡連接故障處理,重試邏輯等等。動機降低客戶端與業(yè)務服務層的耦合度, 從而隱藏服務層的具體實現(xiàn)細節(jié)。把網(wǎng)絡異常信息轉譯成應用程序異常, 或者是用戶使用異常。業(yè)務代表可以向 web 層提供請求的緩沖機制,提

2、高性能。例如可以緩存遠程接口。當服務層發(fā)生故障時, 業(yè)務代表可以透明地重試或恢復操作,無需讓客戶端知道。為業(yè)務層提供一個簡單, 統(tǒng)一的接口。 業(yè)務代表以一個 POJO 形式實現(xiàn)。隱藏遠程性。 避免不必要的遠程服務調用。 位置透明性。引入代理層。 增加了復雜性, 降低了可維護性。 但收益遠抵消了弊病。結構客戶端(Action) -業(yè)務代表-查找服務(ServletLocator) -業(yè)務服務請參照 :服務定位器模式,會話門面模式,代理模式。示例在 petStore 中 ShoppingClientControllerWebImpl其實就是一個業(yè)務代表的例子。public class Shoppi

3、ngClientControllerWebImplprivate ShoppingClientController sccEjb; private HttpSession session;public ShoppingClientControllerWebImpl() public ShoppingClientControllerWebImpl(HttpSession session) this.session = session;ModelManager mm =(ModelManager)session.getAttribute(WebKeys.ModelManagerKey);sccEj

4、b = mm.getSCCEJB();public synchronized ShoppingCart getShoppingCartEJB() try return sccEjb.getShoppingCart(); catch (EStoreAppException ce) throw newGeneralFailureException(ce.getMessage(); catch (RemoteException re) throw newGeneralFailureException(re.getMessage();public synchronized Customer getCustomerEJB()try return sccEjb.getCustomer(); catch (EStoreAppException fe) throw newGeneralFailureException(fe.getMessage(); catch (RemoteException re) throw newGeneralFailureException(re.getMessage();/.public synchronized void remove() try sccEjb.remove(); catch(R

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論