zoukankan      html  css  js  c++  java
  • 《J2EE核心模式》第四章——J2EE重构(业务层和集成层的重构)

    核心内容:session bean 和 entity bean的联系。

    entity bean是数据实体对象(这里要注意数据实体对象和数据访问对象的区别和联系,参见“一般重构”),它反映的是数据库每一张表中的属性。
    session bean是用户会话对象,它存储的是每个用户在访问系统的会话信息。

    1. 最佳实现:
      a、用户不能直接使用entity bean,而需要由session bean间接调用。
      b、作者在本书的P70页提到了复合entity bean的做法,但是作者又说:“从属对象并不是entity bean,而是被包含在entity bean内部的java对象”。这样的说法可以用以下的假设。EntityA、EntityB是两个数据实体对象,他们的属性为:

      public class EntityA{
              private String string1;
              private String string2;
      }

      public class EntityB{
              private String string3;
              private String string4;
      }
      那么他们的复合数据实体对象应该是
      public class EntityAANDEntityB{
              private String string1;
              private String string2;
              private String string3;
              private String string4;
      }
      而不是
      public class EntityAANDEntityB{
              private EntityA entityA;
              private EntityB entityB;
      }
      我的想法是为什么要使用上一种复合而不使用下面的一种复合。在不考虑网络调用时(复合对象内部不存在异地通信)两者还有什么特别的区别?

      c、session bean应按照功能存储一个或多个entity bean或复合的entity bean。
      d、单个entity bean之间因该尽量减少通信,特别是通过网络调用的情况。
      c、entity bean应该是一个粗颗粒对象,至少应该存在一个抽象的夫类
    2. 不推荐实现:
      a、不推荐一个session bean保存一个entity bean。
      b、不推荐用户直接调用entity bean。
      c、entity bean 在设计时应避免分配很多的类,而这些却没有夫类。
  • 相关阅读:
    source命令
    [电脑配置]屏幕扩展过,找不到界面
    [SAS]方便查询Tips
    [Excel]方便查询Tips
    [SAS]运用函数等的一些问题
    [SAS]错误整理
    [SAS]易错例子之数值型转字符型
    [R]Precedence
    [sas]Missing Value
    [SAS]
  • 原文地址:https://www.cnblogs.com/liulaolaiu/p/11744350.html
Copyright © 2011-2022 走看看