目錄
劉兵(bliu76@yeah.net)
目錄...............................................................................................................................................1
PetStore 中EJB 的設(shè)計模式............................................................................................................3
1. 概述...........................................................................................................................................3
2. 模式分類...................................................................................................................................4
2.1. Data Access Object 模式..........................................................................................4
2.1.1. 意圖...................................................................................................................4
2.1.2. 動機(jī)...................................................................................................................4
2.1.3. 結(jié)構(gòu)...................................................................................................................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 模式關(guān)系................................................................................................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. 動機(jī).................................................................................................................13
2.2.3. 結(jié)構(gòu).................................................................................................................14
2.2.4. PerStore 的例子..............................................................................................14
2.3. Session Façade 模式...............................................................................................16
2.3.1. 意圖.................................................................................................................16
2.3.2. 動機(jī).................................................................................................................16
2.3.3. 結(jié)構(gòu).................................................................................................................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. 動機(jī).................................................................................................................20
2.4.3. 結(jié)構(gòu).................................................................................................................21
2.4.4. PetStore 中的例子..........................................................................................21
PetStore 中EJB 的設(shè)計模式
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. 動機(jī).................................................................................................................24
2.5.3. 結(jié)構(gòu).................................................................................................................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. 動機(jī).................................................................................................................28
2.6.3. 結(jié)構(gòu).................................................................................................................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. 動機(jī).................................................................................................................33
2.7.3. 結(jié)構(gòu).................................................................................................................33
2.7.4. PetStore 例子..................................................................................................35
2.8. CMR 模式...............................................................................................................35
2.8.1. 意圖.................................................................................................................35
2.8.2. 動機(jī).................................................................................................................35
2.8.3. 結(jié)構(gòu).................................................................................................................35
2.8.4. PetStore 中的例子..........................................................................................36
2.9. 業(yè)務(wù)代表模式.........................................................................................................37
2.9.1. 意圖.................................................................................................................38
2.9.2. 動機(jī).................................................................................................................38
2.9.3. 結(jié)構(gòu).................................................................................................................39
2.9.4. PetStore 中的例子..........................................................................................39
2.9.5. GOF 模式........................................................................................................41
2.1.4.18 Proxy 模式......................................................................................41
3. EJB 模式關(guān)系.........................................................................................................................42
4. 相關(guān)的資料.............................................................................................................................43
5. 總結(jié).........................................................................................................................................43
PetStore 中EJB 的設(shè)計模式
3/3
PetStore 中EJB 的設(shè)計模式
Liubing (bliu76@yeah.net)
1. 概述
通過分析數(shù)據(jù)模型,和實際操作PetStore 我們大概對它的數(shù)據(jù)模型有所了解,F(xiàn)在開始
分析系統(tǒng)EJB 層的設(shè)計模式。首先什么是模式?看Gof 的《設(shè)計模式》的定義,就是對被
用來在特定場景下解決一般設(shè)計問題的類和相互通信的對象描述。唉!太深沉了。一頭霧水。
其實,就是一些經(jīng)驗,并且經(jīng)過科學(xué)整理,可以在某種場合下反復(fù)使用,解決一些問題。當(dāng)
然在《設(shè)計模式》一書羅列出23 中模式,并且進(jìn)行了詳細(xì)描述。今天我們所說的模式,是
PetStore 中的EJB 設(shè)計經(jīng)驗。
關(guān)于設(shè)計模式,我有很多感觸,Gof 的書我不知看了多少遍,可總是不太明白,我?guī)啄?br />
沒有使用C++了,里面的例子,看著很不爽。板橋先生網(wǎng)上的例子很簡單明了,但是經(jīng)過一
段時間的學(xué)習(xí),有點不盡興的感覺。于是又看了其他的幾本書,心中有了一些感覺,可是實
際寫代碼很難用上,并且現(xiàn)在項目使用J2EE,于是我決定分析PetStore 源碼,看看這些牛
人是怎樣使用模式的。在我們的項目開發(fā)中也照葫蘆畫瓢,使用一把。
關(guān)于PetStore 的模式,SUN 的站點列出了以下幾種模式,當(dāng)然其中的FrontController 屬 |
|