实用J2EE设计模式编程指南 可以灵活地复合不来源的 Value Object.括EJB、数据山向对象或Java对象,这 个模式创建发传递到客广机的数据。这个模式 value Object模式相联系 Value list handler(数值清单处理器) 提供查询执行和结果处理的良好方案,还叮以缓结果,进·步提高性能,这个模 式基于前面提到的四位专家类別中的 Iterator模式 Service locator(服务定位器) 可以查找、创建’j定位服务工厂,包装其细节。多个客广机可以使用这个对象,从 而减少复杂性,提供单个控制点,通过缓仔提高性能 还有两个集成层模式 Data Access Object(数据访问对象) 可以灵活而透明地访问数据,抽象数据源和隐藏EIS表示层细节。优点是业务IS 层之间得到松耦合。这个模式也用于实体Bean的Bean管理持久性。 Service Activator(服务激活器) 可以异步处理同步EJB组件,特別是会话Bean。这个模式提供类似于EJB20规范中 消息驱动Bean的功能。这个模式的优点也适用于EJB1.1 有些 Sun java center j2EE模式(特别是业务层模式)已经过时,是针对EJB1.1定义 的。众所周知,BB20已经作了几处重要修改,包括消息驱动Bean、本地接口和新的持久 这些析种Cm已经无,图为距2的地日可以建细 粒实体Bean,定义其间的关系时不会造成性能影响。实际上,EJB2.0规范希望采用后一利 方法。消息驱动Bean要求另一种模式 Message Facade由于消息驱动Bean提供的功能,也 使ServiceActivator过期了。其中一些新模式已经在TheserversidE.com的第二类模式中定义 TheserverSide con模式类别 The Server Side. com模式类别有所不同,分为下面几类 EJB Layer Architectural Patterns(EJB层体系结构模式) Inter- Tier Data- Transfer Pattems(层间数据传输模式) Transaction and Persistence Patterns(事务与j持久性模式) Client- Side ejb interaction patterns(客户端EJB交互模式) 重要的EJB层体系结构模式包括: Session Facade 提供与 Sun Java Center J2EE模式类别中同名模式相同的解决方案 Message Facade Session Facade模式相似,但用消息驱动Bean而不用会话Bean,因此可以异步容 EJB Command(EJB命令) Session Facade模式相对,将业务逻辑包装在命令Bean中,分离客户机j业务逻轩 层,减少远程方法调用
第1章J2EE设计模式 Data Transfer Object Factory(数据传输对象工厂) 提供数据传输对象的工厂。 Generic Attribute access(一般性属性访问) 提供通过 HashMaps以动态方式设置和读取实体Bean属性的方法。 Business interface(业务接口) 提供实现EJB接口编译时一致性检查的方案。为此定义业务接口,在本地远程接!! 和企业Bean类中实现。 重要的层间数据传输模式包 Data- Transfer Object(数据传输对象) 提供用系列化对象传输数据的方案。这个模式与 Data Transfer Object Factory模式 相联系,类似于 Value Object模式 Domain Data-Transfer Object(域数据传输对象) 是特定域的 Data Transfer Object规 Custom Data-Transfer Objects(定制数据传输对象) 显示如何定制Data- Transfer Objects Data-Transfer Hash Map(数据传输散列图) 提供通过 HashMaps在客户机与EJB层之间调动任意数据集的方案。 Data- Transfer rowset(数据传输行集) 显示如何用 RowSets直接从EJB层的 Results向客户机层调动原始关系型数据。 重要的事务与持久性模式包括 ersion Number(版本号) 对跨事务的使用案例提供维护一致性和防止并发性问题的方案。 JDBC for Reading(读取JDBC 显示如何用JDBC对关系型数据库进行列表操作。 Data- Access Command Beans(数据访问命令Bean) 用命令Bean进行数据访问,类似于 EJB Command模式 Dual Persistent Entity Bean(双持久实体Bean) 显示如何编写实体Bean,通过继承支持 BMP CMP。最后选择通过部署描述项完成。 重要的客户端EJB交互模式包括: EJB Home Factory(EJB主工厂) 在查找 EJB Home接口时改进性能,方法是使用EJB主工厂 实现缓存改进性能。 Business Delegate(业务代理) 类似于 Sun Java Center模式类别中同名模式。 J2EE模式间的关系 Sun Java Center模式类别中的十五个模式 Li TheServerSide类别中的十七个模式是相联 系的,有些模式是相似的,提供同一问题的相似解决方案。我们发现有下列相似性 Service to Worker j Dispatcher View
实用J2EE设计模式编程指南 Session Facade、 Message Facade与 EJB Command Service Locator JEJB Home Factory Value Object与 Data-Transfer Object及其所有变形: Domain Data-Transfer Object Custom Data-Transfer Object, Data-Transfer Hash Map Data-Transfer RowSet Value Object Assembler Data-Transfer Object Factory Data-Access Object] Data-Access Command Bean 为了更好地了解这两个模式类别,我们用图14显示它们的关系和依赖性。灰色阴影框 表示 The Server Side类别中的模式,而白框表示 Sun Java Center模式类别中的模式 Sun Java Center 这些模式的组织、关系和依赖性如图15所示。 这两个类别中的几个2EE模式对应于Java相关模式和通用设计模式,因此下节简要介绍 其他最重要的设计模式 其他最重要的设计模式 前面提到的四位专家的模式类别中发表了最流行和最有影响的通用设计模式,参见 《 Design Patterns: Elements of Reusable Object-Oriented Software by the GoF》一书 Addison- Wesley出版(ISBN:0201-63361-2)。其中包括下列设计模式 创建性模式: Abstract Factory · Builder Factory Method Prototype 行为性模式: Chain of Responsibility
第1章J2EE设计模式 2 cepting hiter Service to worker al composite Wew Dispatcher Vew View Helper usiness Delega Service locator Session decade valye List Hand Composite Ent Service Activat Data Access L5 Interpreter · Iterator Memento
实用J2EE设计模式编程指南 State sTv 除了前面提到的四位专家提出的类别之外,还有一些重要的Java相关类别,其中最有影 响的是《 Patterns in Java. Volume I》…书, John Wiley&Sons出版(SBN0471-25839 3),定义了卜列重要模式: Marker Interface Object Pool Layered Initialization Dynamic Linkage Cache Management Little Language Single Threaded Execution Two-Phase Termination 由此可见,目前已经有许多重要模式。必须了解和领会这些重要模式之后才能正确选 择和使用。本书介绍如何采用2EE中的重要模式 下节介绍J2EE模式的问题域及本书其余部分的组织 J2EE模式的问题域 我们看到,不同模式类别由不同方式构造模式。木书不是介绍模式类别的,也不是正 式介绍J2EE模式的,而是介绍如何在J2EE应用程序中采用现有设计模式 为了简化模式选择,我们根据所用的问题域组织模式,对应于釆用设计模式的方法。 本书涉及的模式及其应用组织成下面几部分: Patterns Applied to the Web tier(web层设计模式) Patterns Applied to a Persistence Framework(持久性框架设计模式) Patterns Applied to Improve Performance and Scalability(改进性能与伸缩性的设计 模式 Patterns Applied to Manage Security(管聞安全性的设计模式) · Patterns Applied to Enable Enterprise Integration(企业集成设计模式) Patterns Applied to Enable Reusability, Maintainability, and Extendibility(i)H+I 维护性1护展性设计模式