JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Software Engineering » OOAD  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 請問大家,這種情況下DAO要如何設計
avseq

美若天仙,生性冷漠



發文: 202
積分: 2
於 2008-11-03 23:39 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
Project A : 裡面已經有DAO負責 A schema 大部分 table 資料的存取
Project B : 裡面已經有DAO負責 B schema 大部分 table 資料的存取
Project C : 裡面已經有DAO負責 C schema 大部分 table 資料的存取
以上所說的schema 意思是用不同的username/password 登入database

現在有一個Project D,會讀取到Schame A,Schame B,Schame C 的table
並寫入資料到C schema的table

關於讀取Schema A 的某個table的function已經有了,可以直接使用
讀取schema B 的 b table 及
讀取schema C 的 c table 的function並不存在

為了避免要設定太多帳號,造成程式維護上的麻煩
有一個帳號可以讀取所有Schema的table,但權限是唯讀
另外就使用一組有權限帳號可以寫入資料到schema C

但是現在麻煩的是,Project D的DAO我要如何設計呢?
目前我的想法是,因為讀取Schema A某個table的function已經有了
所以會利用類似delegate的方式,以下是大概的方式
1
2
3
4
5
6
7
8
public class ProjectD_Dao
{
  private ProjectA_DAO projADao;
  public tableA getTableA()
  {
     return this.projADao.getTableA();
  }
}


因為目前我們Project DAO的方式都是一個class來存取對應schema的所有table
不像是Hibernate的方式是一個table會有一個對應的DAO
所以我也應該會依照這個慣例(包袱?)來開發

目前我的想法是Project D會有一個DAO來包裝所有存取table的function
但是關於schema B及schema C的funciton,因為本來並不存在,但是此
次又沒有要更改Project B及Project C,所以是否要寫在Project D的DAO?
還是有另外的方法?
還有因為是兩組不同的帳號,一個是只有唯讀權限,另一個有權限可以修
改Schema C table的資料,關於只讀取或是可修改資料,要分不同的DAO
來實作嗎?


reply to postreply to post
話題樹型展開
人氣 標題 作者 字數 發文時間
1460 請問大家,這種情況下DAO要如何設計 avseq 1079 2008-11-03 23:39
» JWorld@TW »  Software Engineering » OOAD

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8