EJB设计模式:SessionFacade与MessageFacade解析

0 下载量 91 浏览量 更新于2024-07-15 收藏 332KB PDF 举报
"EJB设计模式是用于优化企业级Java应用程序的一种重要方法,尤其是在复杂的J2EE项目中。良好的EJB设计模式能够显著提升系统的性能、可扩展性、可维护性,以及组件的重用性,同时提高开发效率。本文主要介绍了两种常见的EJB设计模式:SessionFacade模式和MessageFacade模式。 SessionFacade模式是一种常用的设计模式,它的主要目的是减少客户端与服务器之间的通信成本,提高并发性能,并降低两者之间的耦合度。在SessionFacade模式中,客户端不再直接与实体EJB交互,而是通过一个SessionEJB层来处理业务逻辑和对实体EJB的操作封装。这样做的好处包括减少网络负载,因为SessionEJB可以调用实体EJB的本地接口,从而减少远程调用的开销;同时,它也使得商业逻辑与数据分离,简化了维护和开发工作,提高了系统的整体性能。然而,使用SessionFacade模式时需要注意避免将所有操作都集中在一个大型SessionEJB中,以防止代码过于复杂和难以管理。此外,对于一些通用的服务,如权限检查,可以将其封装在JavaClass中以减少代码重复。 MessageFacade模式则是针对异步调用场景设计的,尤其适用于那些不需要立即返回结果的请求。在MessageFacade模式中,客户端发起请求后,通过Message-Driven Bean (MDB)来处理,这样可以避免客户端长时间等待,提高系统响应速度和事务处理能力。MDB能够在后台独立执行任务,即使在处理过程中遇到错误,也不会立即影响到客户端的正常运行,从而提升了系统的可靠性和容错性。然而,这种模式在实际应用时也需要考虑如何有效地管理和协调多个异步任务,以及处理可能出现的错误情况。 EJB设计模式是解决企业级Java应用程序复杂性的关键工具。通过合理地选择和应用这些模式,开发者可以构建出更加高效、健壮的系统。在实际项目中,根据具体的需求和环境灵活选择和组合不同的设计模式,能够更好地满足项目的需求,同时保持代码的清晰和可维护性。"
2009-11-12 上传
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. 总结...............................................................................................................................