EJB设计模式1

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


CodesnippetforCompanyEntityBean
publicclassCompanyBeanimplementsEntityBean{
EntityContextentityContext;
publicIntegercomId;//theprimarykey
publicStringcomName;//thecompanyname
publicStringcomDescription//basicdescription
publicTimestampmutationDate//explainedlater
publicIntegerejbCreate(<params>)throws
CreateException{
returnnull;
}
//variousget()andset()foreverycolumn/field
//whichareexposedintheRemoteInterfaceaswell

CodesnippetforEmployeeEntityBean
publicclassEmployeeBeanimplementsEntityBean{
EntityContextentityContext;
publicIntegerempId;//theprimarykey
publicIntegercomId;//thecompanyforeignkey
publicStringempFirstName;//theemployeefirstname
publicStringempLastName//theemployeelastname
publicTimestampmutationDate//explainedlater
publicIntegerejbCreate(<params>)throws
CreateException{
returnnull;
}
//variousget()andset()foreverycolumn/field
//whichareexposedintheRemoteInterfaceaswell


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

你可能感兴趣的:(设计模式)