关于J2EE的设计模式.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于J2EE的设计模式

J2EE设计模式 设计模式是系统架构之基础 J2EE多层系统主要由架构设计、框架以及多个设计模式组成。 设计模式是一种实践的总结,是OOP最直接的表现。 掌握设计模式与否是衡量程序员设计水平高低的主要依据。 GoF设计模式 GoF设计模式主要列举了常用的23种模式 Java的GoF设计模式实现主要表现在面向接口编程。 工厂模式是最常用的一种设计模式 工厂模式简介 设定一个Class名称是AClass,在面向对象编程中,一般一个Class都会继承一个接口,设定AClass的接口为AInterface,那么生成AClass的对象方法如下: AInterface a = new AClass(); 工厂模式简介(续) 改写成下列方式: AInterface a = Afactory.create(); //代码2 上面代码2这一行是使用Afactory的create方法来生成AInterface实例 工厂模式简介(续) Afactory的create方法封装了具体创建细节。 解耦了创建过程和使用过程,系统可扩展性增强,稳定性增强。 Afactory的create方法代码: public static AInterface create(){ …… return new AClass(); } EJB调用是工厂模式的实现 调用EJB 语法: EJBHome em = JNDIServer.getRemoteHome(EJB-JNDI-NAME); EJBObject myEJB = em.create(); em.create()类似Afactory.create(); EJBObject 是接口 Façade模式 会话 Bean和实体Bean 一个会话Bean中调用多个实体Bean 该会话Bean是一个Façade类/Manager类 使用Façade 会话Bean优点: 1. 提供性能,节省客户端直接调用实体Bean的网络开销 2. 解耦分层,利于扩展变化。 DTO模式 DTO模式或称VO模式,是指将数据封装成普通的JavaBeans,在J2EE多个层次之间传输。 DTO类似信使,是同步系统中的Message 该JavaBeans可以是一个数据模型Model 数据建模 Model 、 Domain Object以及DTO关系 1. 分析提炼Model是系统设计之起端 2. 系统设计之初,三者基本统一 3. 系统复杂化后,DTO可能是多个Model组合实现; Model与MDA MVC模式 MVC模式是J2EE Web层的主要实现 Struts框架(Framework) Struts框架是MVC模式的实现(特例化) 框架(Framework)与模式(Pattern)的关系: 1. 设计模式比框架更抽象; 2. 设计模式是比框架更小的体系元素; 3. 框架比设计模式更加特例化; 代理模式 代理模式是容器级别或框架级别的模式 代理模式可以强迫客户端对一个对象的方法调用间接通过代理类进行。 通常代理模式有以下几种:访问代理(Access Proxy)、虚拟代理和远程代理等。 代理模式 接口: public interface BaseIF{ public Object myMethod(); } 原始类: public class OriginClass implements BaseIF{ public Object myMethod (){ return hello , It is me! ; } } 代理模式(续) 代理类: public class ProxyClass implements BaseIF{ public Object myMethod (){ //通过网络协议调用远程的OriginClass BaseIF instance = getRemoteOrigin (); Return instance.myMethod (); } ….. } 客户端调用 BaseIF instance = new Proxy Class(); String = (String)instance.myMethod (); System.out.println(result); //将会输出 hello , It is me! 动态代理模式 动态代理利用Java的反射(Reflect)机制,可以在运行时刻将一个对象实例的方法调用分派到另外一个对象实例的调用。 动态代理模式可以在运行时刻创建继承某个接口的类型安全的代理对象,而无需在代码编译时编译这些代理类代码。是AOP

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档