EJB Design Patterns1(0分)

  • 主题发起人 主题发起人 VRGL
  • 开始时间 开始时间
V

VRGL

Unregistered / Unconfirmed
GUEST, unregistred user!
Design Pattern I
The first design pattern is extremely simple. The Entity Bean code snippet for the
Company &
Employee beans would be similar to the code below. This is the default
code generated by the JBuilder? 4 Entity Bean Modeler. All the fields declared
public are CMP.
Code snippet for Company Entity Bean
public class CompanyBean implements EntityBean {
EntityContext entityContext;
public Integer comId;
//the primary key
public String comName;
//the company name
public String comDescription //basic description
public Timestamp mutationDate //explained later
public Integer ejbCreate(<params>) throws
CreateException {
return null;
}
//various get() and set() for every column/field
// which are exposed in the Remote Interface as well
Code snippet for Employee Entity Bean
public class EmployeeBean implements EntityBean {
EntityContext entityContext;
public Integer empId;
//the primary key
public Integer comId;
//the company foreign key
public String empFirstName;
//the employee firstname
public String empLastName // the employee lastname
public Timestamp mutationDate //explained later
public Integer ejbCreate(<params>) throws
CreateException {
return null;
}
//various get() and set() for every column/field
// which are exposed in the Remote Interface as well
This design pattern, though extremely simple has quite a few disadvantages, such as
one remote call is required to get() and set() every field. Remote Procedure
Calls (RPCs) are quite expensive and when combined with the fact that every access
requires a transaction to be associated with it as well, this pattern is not usable in
production environments. The framework shown above can be used as a stepping-stone
for other design patterns and/or RAD, prototyping, testing, etc. At this stage,
the Employee Entity Beando
es not model the relationship between the Employee
and the Company.
 
应杜宝的要求,贴出来,望大家指正。

设计模式 1
第一个设计模式非常简单。一个公司和雇员的Entity Bean和
下面给出的Entity Bean的代码片断是类似的。它们是由jbuilder4的
EntityBean模版生成的。所有的字段都声明为public的cmp字段。

Code snippet for Company Entity Bean
public class CompanyBean implements EntityBean {
EntityContext entityContext;
public Integer comId;
//the primary key
public String comName;
//the company name
public String comDescription //basic description
public Timestamp mutationDate //explained later
public Integer ejbCreate(<params>) throws
CreateException {
return null;
}
//various get() and set() for every column/field
// which are exposed in the Remote Interface as well
Code snippet for Employee Entity Bean
public class EmployeeBean implements EntityBean {
EntityContext entityContext;
public Integer empId;
//the primary key
public Integer comId;
//the company foreign key
public String empFirstName;
//the employee firstname
public String empLastName // the employee lastname
public Timestamp mutationDate //explained later
public Integer ejbCreate(<params>) throws
CreateException {
return null;
}
//various get() and set() for every column/field
// which are exposed in the Remote Interface as well

这个设计模式虽然很简单,但是却有很多缺点,比如,对每一个
字段的访问都会导致对get()和set()方法的一次远程调用。而远
程过程调用(RPCs)是非常耗费资源的,并且,对于在实际中通
常要求的组合的访问会导致一系列的远程调用。可以说,这个模
式在实际中可用性很差。上面展示的设计模式可以作为其他设计
模式的基础,比如RAD,原型设计,测试等。这时,那个代表雇
员的Employee Entity Bean并没有展示出在雇员和公司之间有何
关系。
 
接受答案了.
 
后退
顶部