网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  设计模式在ejb中的应用(3)     
  文章作者:未知  文章来源:水木森林  
  查看:65次  录入:管理员--2007-11-17  
 
  设计模式在ejb中的应用(3)

   factory模式和singleton模式

   该模式类似new,是用来创建对象的,使用factory模式是为了实现面向对象的基本原则.封装(encapsulation)和分派(delegation);将创建对象与使用对象进行分工。因此在平时开发过程中,尽量使用factory模式创建对象。

  本例catalogejb中是使用factory模式获得一个dao的具体实例对象,见上面catalogejb代码中注释。我们看看catalogdaofactory的代码:

public class catalogdaofactory {
   public static catalogdao getdao() throws catalogdaosysexception {

    catalogdao catdao = null;
     try {
       initialcontext ic = new initialcontext();
       string classname = (string) ic.lookup(jndinames.catalog_dao_class);
       catdao = (catalogdao) class.forname(classname).newinstance();
     } catch (namingexception ne) {
       ...

    }
     return catdao;
}

  在catalogdaofactory可以依据系统的配置文件,动态获得dao的方法,之所以采取动态方式,当然便于用户自己增加自己的dao方式,而不必修改代码,只要直接修改配置文件就可以。

  如果在这里只需要catalogdaofactory产生一个实例,可以采取singleton模式,singleton的目的是控制类实例对象的创建,并且允许整个程序只在一点对它进行访问。singleton本身类只能创建一个,是单线程。

public class catalogdaofactory {
   private static catalogdao catdao = null;

  public static catalogdao getintance(){
     if (catdao==null)
       try {
         initialcontext ic = new initialcontext();
         string classname =
            (string) ic.lookup(jndinames.catalog_dao_class);
         catdao = (catalogdao) class.forname(classname).newinstance();
       } catch (namingexception ne) {
         ...

      }
     }
     return catdao;

  }
}

  那么在catalogejb的调用从
   dao = catalogdaofactory.getdao();

   要改为
   dao = catalogdaofactory.getintance();
(未完待续)

 
 
上一篇: 设计模式在ejb中的应用(1)    下一篇: 深入浅出java clone技术
  相关文档
java中对文件的读写操作之比较 11-17
用 java 语言进行算法作曲 11-17
定时打开新窗口并关闭原窗口 11-17
java web 三层架构配置&.. 11-17
java中的浮点数分析 11-16
ejb 3.0开发指南之消息驱动bean 11-17
ln2 属性 11-16
高效处理异常 11-17
a simple example about full-text search based java:lucene 11-17
jbuilderx+weblogic server 8.1远程调试配置 11-17
java构造函数运行解析 11-17
如何学好java 11-16
中间件--apache和tomcat的集群配置 01-30
javaone:虚拟机及并行语言项目 11-17
scjp考试的准备 11-17
?运算符 11-17
Java实现HTTP文件下载 08-06
sun 认证 java 程序员(scjp) 11-17
java入门教程:java概述 11-17
过桥问题编程解决 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息