大家好, 最近我在一篇关于Session Facade设计模式的代码上看到这样一段代码:它是个Session
Bean,奇怪的是它的Bean实现类并没有直接实现SessionBean接口,而是先用一个TitleDao接口扩展
SessionBean接口----> TitleDao extends SessionBean,然后他再实现这个TitleDao接口,可我怎麽
也想不出这样做的理由:
1.如果以后数据库变了,我照样要写个新的SessionBean实现类来实现信的数据库,它用TitleDao接
口扩展SessionBean接口和我直接用一个类实现SessionBean都要重写数据库部分的代码.
2.由于在客户端都要保留部署EJB是所用到的类和接口,如果任何修改代码(如新增加个方法),或者
是增加数据库,我都要重新部署,他的做法没有省一点事儿.
3.我们以前用Dao都是因为写个DAO接口,然后实现他,以后就可以直接用接口编程,但是实现
SessionBean的类并不是让客户直接调用的,即使使用Dao接口TitleDao,客户也不能直接用这个接口,
仍然要用EJB的规范用远程接口来调用方法,并不能直接操作这个TitleDao接口
所以说,我想不出这样做的理由,谁能指点一下?多谢!