目錄
劉兵(bliu76@yeah.net)
目錄...............................................................................................................................................1
PetStore 中EJB 的設計模式............................................................................................................3
1. 概述...........................................................................................................................................3
2. 模式分類...................................................................................................................................4
2.1. Data Access Object 模式..........................................................................................4
2.1.1. 意圖...................................................................................................................4
2.1.2. 動機...................................................................................................................4
2.1.3. 結構...................................................................................................................5
2.1.4. PetStore 的例子................................................................................................6
2.1.4.1 概述...................................................................................................6
2.1.4.2 CatalogEJB................................................................................................8
2.1.4.3 CatalogDAO..............................................................................................9
2.1.4.4 CatalogDAOImpl ......................................................................................9
2.1.4.5 CatalogDAOFactory................................................................................10
2.1.5. GOF 模式關系................................................................................................10
2.1.4.6 Bridge 模式.............................................................................................10
2.1.4.7 Adapter 模式...........................................................................................11
2.2. Value Object 模式...................................................................................................11
2.2.1. 意圖.................................................................................................................11
2.2.2. 動機.................................................................................................................13
2.2.3. 結構.................................................................................................................14
2.2.4. PerStore 的例子..............................................................................................14
2.3. Session Façade 模式...............................................................................................16
2.3.1. 意圖.................................................................................................................16
2.3.2. 動機.................................................................................................................16
2.3.3. 結構.................................................................................................................17
2.3.4. PetStore 中的例子..........................................................................................18
2.1.4.8 概述.................................................................................................18
2.1.4.9 ShoppingClientFacadeLocalEJB.............................................................18
2.3.5. GOF 中Facde 模式........................................................................................19
2.4. Fast-Lane Reader 模式...........................................................................................20
2.4.1. 意圖.................................................................................................................20
2.4.2. 動機.................................................................................................................20
2.4.3. 結構.................................................................................................................21
2.4.4. PetStore 中的例子..........................................................................................21
PetStore 中EJB 的設計模式
2/2
2.1.4.10 CatalogDAO....................................................................................21
2.1.4.11 CatalogWebImpl..............................................................................21
2.1.4.12 ProductListTag ................................................................................22
2.5. Page-by-Page Iterator 模式.....................................................................................23
2.5.1. 意圖.................................................................................................................23
2.5.2. 動機.................................................................................................................24
2.5.3. 結構.................................................................................................................25
2.5.4. PetStore 的例子..............................................................................................25
2.1.4.13 CatalogDAOImp .............................................................................25
2.1.4.14 ProductItemListTag.........................................................................26
2.5.5. GOF 的Iterator 模式......................................................................................27
2.6. ServiceLocator 模式...............................................................................................27
2.6.1. 意圖.................................................................................................................28
2.6.2. 動機.................................................................................................................28
2.6.3. 結構.................................................................................................................28
2.6.4. PetStore 中的例子..........................................................................................29
2.1.4.15 ServiceLocatorImpl.........................................................................29
2.1.4.16 我們項目的例子.............................................................................30
2.6.5. GOF 模式........................................................................................................32
2.1.4.17 Singleton 模式................................................................................32
2.7. Local 模式...............................................................................................................33
2.7.1. 意圖.................................................................................................................33
2.7.2. 動機.................................................................................................................33
2.7.3. 結構.................................................................................................................33
2.7.4. PetStore 例子..................................................................................................35
2.8. CMR 模式...............................................................................................................35
2.8.1. 意圖.................................................................................................................35
2.8.2. 動機.................................................................................................................35
2.8.3. 結構.................................................................................................................35
2.8.4. PetStore 中的例子..........................................................................................36
2.9. 業務代表模式.........................................................................................................37
2.9.1. 意圖.................................................................................................................38
2.9.2. 動機.................................................................................................................38
2.9.3. 結構.................................................................................................................39
2.9.4. PetStore 中的例子..........................................................................................39
2.9.5. GOF 模式........................................................................................................41
2.1.4.18 Proxy 模式......................................................................................41
3. EJB 模式關系.........................................................................................................................42
4. 相關的資料.............................................................................................................................43
5. 總結.........................................................................................................................................43
PetStore 中EJB 的設計模式
3/3
PetStore 中EJB 的設計模式
Liubing (bliu76@yeah.net)
1. 概述
通過分析數據模型,和實際操作PetStore 我們大概對它的數據模型有所了解,F在開始
分析系統EJB 層的設計模式。首先什么是模式?看Gof 的《設計模式》的定義,就是對被
用來在特定場景下解決一般設計問題的類和相互通信的對象描述。唉!太深沉了。一頭霧水。
其實,就是一些經驗,并且經過科學整理,可以在某種場合下反復使用,解決一些問題。當
然在《設計模式》一書羅列出23 中模式,并且進行了詳細描述。今天我們所說的模式,是
PetStore 中的EJB 設計經驗。
關于設計模式,我有很多感觸,Gof 的書我不知看了多少遍,可總是不太明白,我幾年
沒有使用C++了,里面的例子,看著很不爽。板橋先生網上的例子很簡單明了,但是經過一
段時間的學習,有點不盡興的感覺。于是又看了其他的幾本書,心中有了一些感覺,可是實
際寫代碼很難用上,并且現在項目使用J2EE,于是我決定分析PetStore 源碼,看看這些牛
人是怎樣使用模式的。在我們的項目開發中也照葫蘆畫瓢,使用一把。
關于PetStore 的模式,SUN 的站點列出了以下幾種模式,當然其中的FrontController 屬 |
|