目录
刘兵(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 我们大概对它的数据模型有所了解。现在开始
分析系统EJB 层的设计模式。首先什么是模式?看Gof 的《设计模式》的定义,就是对被
用来在特定场景下解决一般设计问题的类和相互通信的对象描述。唉!太深沉了。一头雾水。
其实,就是一些经验,并且经过科学整理,可以在某种场合下反复使用,解决一些问题。当
然在《设计模式》一书罗列出23 中模式,并且进行了详细描述。今天我们所说的模式,是
PetStore 中的EJB 设计经验。
关于设计模式,我有很多感触,Gof 的书我不知看了多少遍,可总是不太明白,我几年
没有使用C++了,里面的例子,看着很不爽。板桥先生网上的例子很简单明了,但是经过一
段时间的学习,有点不尽兴的感觉。于是又看了其他的几本书,心中有了一些感觉,可是实
际写代码很难用上,并且现在项目使用J2EE,于是我决定分析PetStore 源码,看看这些牛
人是怎样使用模式的。在我们的项目开发中也照葫芦画瓢,使用一把。
关于PetStore 的模式,SUN 的站点列出了以下几种模式,当然其中的FrontController 属 |
|