系统架构相关的J2EE核心模式的应用.ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
存 根 骨架 网络传输 客户端 调用远程接口 请求拦截器 调用本地接口 远程对象 事务服务 安全服务 资源管理 客户机端代理 服务器端代理 9、EJB体系架构中大量地应用代理模式 10、在EJB项目中应用业务代理类的目的 (1)主要的目的是降低EJB组件的访问客户与业务组件之间的关联性 在代理类中不只是简单地重复“业务服务”,也可以提供“增值服务”、并能够隐藏业务逻辑调用的实现细节。 (2)可以转化EJB层的异常 可以在业务代理中把EJB层的异常,转化为Web 层的异常。 (3)可以并行开发,从而提高开发效率 只要在设计时仔细定义了业务代理的接口,Web层和EJB的开发人员立即可以同时开发各自的模块。 11、虚拟(Virtual)代理 (1)问题 假设一个程序要使用Email服务,但是并不是什么时候都要连接Email服务器或接入Email服务器,因为频繁地接入Email服务器是非常耗时和耗资源。 12、Java中的静态代理技术的应用示例 (1)问题的功能需求 某个系统希望在目标方法执行的前、后进行“日志记录。 (2)常规的实现方法----重复! 在方法执行的前、后都添加log语句,这样将导致大量的重复性的代码出现。 (3)实现的代码示例 (4)采用静态代理技术实现本示例 (5)实现的代码示例 (5)对上面的静态代理技术实现的说明 达到了核心关注点和横切关注点相互分离的目的 静态代理在程序規模稍大时就必定无法胜任---必要为每个类提供代理类的定义,静态代理在程序規模稍大(有多种不同形式的业务功能类)时就必定无法胜任。 13、Java中的动态代理技术 (1)JDK中的动态代理技术 从JDK1.3开始在Java语言内部就已经提供有动态代理技术。 (2)应用动态代理技术所体现出的主要优点 (3)动态代理技术是利用Java 反射技术实现的 (4)和经典GoF中Proxy的代理模式(静态代理)相比,动态代理完全抽象了代理行为 (5)Java动态代理类位于Java.lang.reflect包下,一般主要涉及到以下两个类 14、采用动态代理技术具体实现的示例 (1)实现动态代理类 (2)编程该WebBBSLogHandler的动态代理类 请见文档中的详细说明 (3)执行的结果如下所 (4)动态代理技术实现的主要优点的说明 门面(Facade)模式---作为架构中的分层 1、门面模式 在GOF设计模式中也包括有该模式,主要的作用是分离类之间的关系;而本文中的门面模式侧重于系统分层架构设计。 2、出现的背景---基于EJB组件的系统(会话门面) 由于在J2EE的多层次系统中,通常会存在以下的问题 层次之间联系过于紧密,特别是客户层和后端的业务对象具有较强的依赖关系(JNDI等定位); 在客户和服务器之间有可能出现对多个不同EJB组件调用,因而导致了Web性能方面的问题; 缺乏一定的客户访问控制机制,使得一些后台EJB组件被随便访问。 因此,如何减少网络连接和实现批量读写操作? 3、出现的背景---基于非EJB组件的系统(门面) 在应用系统中客户需要与子系统内部的许多对象打交道 设计师处理复杂系统的一个常见方法便是将其“分而治之”,把一个系统划分为几个较小的子系统。 而一般一个子系统的使用端往往只关注一些特定的功能,但却要同时与子系统内部的许多对象打交道后才能达到目的这样便产生出一种不便,它使得系统的逻辑变得不必要的复杂, 维护成本提高,复用率降低。如Portal整合不同来源的内容。 4、用一个范例来说明门面设计模式 ----医院中的正常的业务流程 5、如何解决这种不便----引进Facade模式 接待员(导医小姐)就是Facade模式的体现---Fa?ade组件的应用 6、Facade模式的设计要求 (1)要求一个子系统的外部与其内部的通讯必须通过一个统一的门面(Facade)对象进行 (2)门面模式是在客户端和后台系统之间插入的一个中间层组件 这个门面中间层组件跟后台的多个类或接口打交道,而客户端只需要跟门面中间层组件进行交互 (3)Fa?ade组件就如同医院的导医员一样 通过Facade模式中的门面类型组件将使用端(系统的客户端)与子系统的内部复杂性交互相互分隔,从而使得使用端只需要与门面组件对象打交道,而不需要与子系统内部的很多对象打交道。 Facade模式的主要优点----使用户(客户)和子系统相互隔离 7、Facade模式在业务层组件中具体应用 (1)业务外观层(Business Facade) (2)应用该模式的主要目的 分离界面设计人员和业务逻辑设计人员之间的职责 8、门面和代理、中介者( Me

文档评论(0)

好文精选 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档