EJB中所採用的設計模式

2021-04-19 22:17:38 字數 1112 閱讀 6767

ejb採用多層結構,使用adapter模式和bridge模式將商業邏輯計算和資料庫截然分開。

ejb中將對資料庫進行呼叫(如發出select等語句)稱為會話bean(sessionbean),而將對應資料庫乙個個記錄的bean稱為實體bean(entity bean);由這兩種型別的bean完成對資料庫的訪問.會話bean一般和客戶端應用是一一對應,而和資料庫端聯絡緊密的是實體bean,ejb在實體bean(或直接在會話bean)和資料庫之間使用了adapter模式和bridge模式,無意在實體bean和資料庫之間又多了一層,稱之為dao(data access object ),dao實際就是設計模式的混合體.

facade模式:它的定義是為子系統中的一組介面提供乙個一致的介面,很顯然我們需要為(使用者端至ejb之間增加一層,來鬆散兩端點之間的耦合)這些bean提供乙個統一的對外介面。

facade模式參與者:

sessionfacade (shoppingclientfacadelocalejb)

提供一組操作流程

將真正工作委託到ejb的bean.

ejb的bean (customerejb, shoppingcartejb等等)

執行基本的商業邏輯操作

沒有任何對sessionfacade的呼叫.

這樣不但可擴充套件性大大增強,效率也提高了,使用者端只需要一次remote對sessionfacade呼叫就可以了,而sessionfacade會自動定位到與它同一臺伺服器的那些鄰居bean(customerejb, shoppingcartejb等等),無疑減少網路擁擠,提高了速度.

與效能有關的兩個設計模式:proxy模式,flyweight模式。

proxy:ejb的bean屬於巨大物件(反覆的資料庫操作,很費時間),該模式可以為在訪問巨大的需要花費一定時間才能展開的物件時,提供乙個**。

flyweight模式:避免大量擁有相同內容的小類的開銷(耗費記憶體),使大家共享乙個類(元類),當要從ejb獲取一系統字串,而這些字串肯定有許多是重複的,可將這些重複的字串儲存在flyweight池(pool)中以達到共享。

摘自:板橋裡人  http://www.jdon.com

EJB設計模式1

第乙個設計模式非常簡單。乙個公司和雇員的entity bean和 下面給出的entity bean的 片斷是類似的。它們是由jbuilder4的 entitybean模版生成的。所有的字段都宣告為public的cmp欄位。code snippet for company entity bean pu...

EJB中常用的設計模式

1 bridge模式 將抽象和行為劃分開來,各自獨立,但能動態的結合起來 好象搭建了一座橋 在ejb中,是將商業邏輯和資料庫訪問這樣的行為劃分開來,資料庫訪問專門放置在dao中了。2 adapter模式 將特定的資料來源驅動介面適配到dao介面中去 3 工廠模式 建立物件,達到介面和實現分離的目的 ...

採用設計模式理由

設計沒有標準,模式充滿變化,我們對設計與模式的 就是希望能從沒有標準的設計中體驗設計的樂趣,從充滿變化的模式中尋求問題的解決之道。我這裡所謂 設計沒有標準 其實並非沒有標準,現實是設計的標準實在太多了。我們都希望找到最好的設計方案,然而什麼是最好,每個人都有自己的 哈姆雷特 滿足客戶需求的設計就是最...