Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > 设计模式在EJB中的应用(4)
【标  题】:设计模式在EJB中的应用(4)
【关键字】:模式,设计,应用,EJB,设计模式,设计,EJB
【来  源】:网络

设计模式在EJB中的应用(4)

Your Ad Here

public class ShoppingClientFacadeLocalEJB implements SessionBean {
   ...

  //和CustomerEJB联系
   public CustomerLocal getCustomer() throws FinderException {
     if (userId == null) {
       ...
     }
     try {
       InitialContext ic = new InitialContext();
       Object o = ic.lookup("java:comp/env/ejb/petstore/local/customer");
       CustomerLocalHome home =(CustomerLocalHome)o;
       customer = home.findByPrimaryKey(userId);
     } catch (javax.naming.NamingException nx) {
      ...
     }

    return customer;
   }

  .....

  //和ShoppingCartEJB联系
   public ShoppingCartLocal getShoppingCart() {
     if (cart == null) {
       try {
         InitialContext ic = new InitialContext();
         Object o = ic.lookup("java:comp/env/ejb/cart/Cart");
         ShoppingCartLocalHome home =(ShoppingCartLocalHome)o;
         cart = home.create();
       } catch (javax.ejb.CreateException cx) {
        ...
       }
     }
     return cart;
   }

  ....

}

  Facade模式参与者:

  SessionFacade (ShoppingClientFacadeLocalEJB)

  提供一组操作流程

   将真正工作委托到EJB的bean.

   EJB的bean (CustomerEJB, ShoppingCartEJB等等)

  执行基本的商业逻辑操作

   没有任何对SessionFacade的调用.

  这样不但可扩展性大大增强,效率也提高了,用户端只需要一次Remote对SessionFacade调用就可以了,而SessionFacade会自动定位到与它同一台服务器的那些邻居bean(CustomerEJB, ShoppingCartEJB等等),无疑减少网络拥挤,提高了速度.

总结

   在EJB的具体使用中,使用合适的设计模式,不但使代码可重用性 可拓展性增强,最重要的是能提高效率和速度,我们知道EJB框架由于考虑大型系统中事务安全等各方面问题,效率性能有所欠缺,那么我们在具体问题具体应用时,使用设计模式可以弥补这个问题。

  例如Proxy模式可以为我们在访问巨大的需要花费一定时间才能展开的对象时,提供一个代理,这样不会因为那个巨大对象而影响当前运行速度,EJB中的那些bean很显然属于巨大对象(因为它们有反复的数据库操作,这些很费时间〕。

  Flyweight模式是避免大量拥有相同内容的小类的开销(如耗费内存),使大家共享一个类(元类).当你要从EJB中获取一系列字符串,而这些字符串中肯定有许多是重复的,那么我们可以将这些重复的字符串储存在Flyweight池(pool)中以达到共享。

  在以后篇幅中会陆续介绍此类应用。(全文完)

JSP设计模式:【上一篇】
设计模式在EJB中的应用(3):【下一篇】
【相关文章】
  • JSP设计模式
  • 用JDBC开发基于客户/服务器模式的Internet/Intranet数据库软件(2)
  • J2EE设计模式浅谈(1)
  • J2EE设计模式浅谈(2)
  • jsp设计模式-经典
  • 设计模式的原则
  • MVC模式学习
  • 以对话框为主要界面的应用程序
  • 汇编语言程序设计
  • VxD 程序设计入门
  • 【随机文章】
  • FCS中ActionScript代码提示功能
  • TForm的一些技巧
  • 关于 volatile
  • asp下连接数据库
  • 完美的开发板模拟PS/2键盘
  • 更改数据库用户的密码(sys,system)
  • 制作透明的和交错的Gif图象
  • 为类型库(Type Library)生成帮助文件
  • J2EE架构下系统设计模式
  • [JAVA]利用Properties对程序运行次数进行计数
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.