程序員:EJB設(shè)計(jì)模式1

字號(hào):

第一個(gè)設(shè)計(jì)模式非常簡(jiǎn)單。一個(gè)公司和雇員的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() 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() throws
    CreateException {
     return null;
    }
    //various get() and set() for every column/field
    // which are exposed in the Remote Interface as well
    這個(gè)設(shè)計(jì)模式雖然很簡(jiǎn)單,但是卻有很多缺點(diǎn),比如,對(duì)每一個(gè)字段的訪問都會(huì)導(dǎo)致對(duì)get()和set()方法的一次遠(yuǎn)程調(diào)用。而遠(yuǎn)程過程調(diào)用(RPCs)是非常耗費(fèi)資源的,并且,對(duì)于在實(shí)際中通常要求的組合的訪問會(huì)導(dǎo)致一系列的遠(yuǎn)程調(diào)用。可以說,這個(gè)模式在實(shí)際中可用性很差。上面展示的設(shè)計(jì)模式可以作為其他設(shè)計(jì)模式的基礎(chǔ),比如RAD,原型設(shè)計(jì),測(cè)試等。這時(shí),那個(gè)代表雇員的Employee Entity Bean并沒有展示出在雇員和公司之間有何關(guān)系。