請教一個DAO設計模式的問題

lyojbuilder發表於2003-11-06
大家好,

最近我在一篇關於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介面

所以說,我想不出這樣做的理由,誰能指點一下?多謝!

相關文章