开发ejb如何划分模块,使模块粒度合理

chinahero 03-05-22
    

采用facade模式,对于客户端来说采用delegate通过facade的远程接口进行远程方法调用,而facade后面有controll session bean和entity bean,业务逻辑放在facade中还是放在controll session bean中
比如一个系统有6张表,其中有一个操作牵涉到4张表的操作,首先检验1表是否有记录如果无记录则对2表加记录,否则对4表进行操作 3.对3表进行update记录,这种业务逻辑的实现放在facade中还是后端的control session bean中,

我是这样做的,共有6个control session bean,每个session bean实现entity bean中的相应功能,例如:
findById(String id) 对应于在表1中查找一个记录,放在session bean 1中
addById2(String id)对应于在表2中插入一条记录,在session bean 2中
addById4(String id)对应于在表4中插入一条记录,在session bean 4中
deleById(String id)对应于在表3中删除一条记录,在session bean3中

具体的业条逻辑 findBy(id)->addById2(id)->deleById(id)
->addById4(id)
组成一个process(id)方法,放在facade中,这样划分合理吗?

    

chinahero
2003-05-29 23:53

有人吗?帮我一下

banq
2003-05-30 18:51

不是很合理

findBy(id)->addById2(id)->deleById(id)->addById4(id)
这个关系我认为已经是涉及业务逻辑。
session facade一般相当于enetiy bean的manager。

谨慎使用facade,不要将太多东西放在facade中,否则facade里将是混乱一团。