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

» JWorld@TW » Software Design  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to postflat modego to previous topicgo to next topic
話題被移動
該話題已被移動 - browser , 2005-05-12 00:40
如果您尚不清楚該話題被移動的原因,請參考論壇規則以及本版公告或者聯系本版版主。
本主題所含的標籤
無標籤
作者 有關simple Factory的問題
ericwang1017





發文: 20
積分: 0
於 2005-05-11 23:43 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
小弟是剛學習DP的新手,在這裡有個問題想請教版上的大大

在simpleFactory中,是否可以做到動態至換class的效果

以下為程式碼(抱歉各位版大,一些interface就不寫了)

1
2
3
4
main:{
//取得一個為MSSQL類別的物件
    public DBCalss db  =  DBFactory("MSSQL")
}


而在DBfactory這個類中,用Switch來return Class已達到動態產生class的效果
1
2
3
4
5
6
7
8
DBFactory(string whatkindDbcalss){
switch (whatkindDbcalss)
    case "MSSQL"
           return New MSSQL
    case "Access"
           return New Access
 
}


這樣我就可以依照傳入的值(傳入MSSQL得MSSQL的class,傳入Access字串得Access的Class),來取得不同的Calss

問題來了...............
今天我有一個新的Calss叫 Oracle
照理來說我應該在DBFactory那邊加入一個新的程式碼,如switch裡面多了以下的程式碼
1
2
    Case "Oracle" 
         Return New Oracle

然後在傳入字串的地方傳入Oracle,然後我的 db物件 就會變成了Oracle的class了

那現在 有沒有辦法不加入以上那一段程式,我一樣可以取得oracle物件呢?

============
其實我是想寫個Db操作的程式,然後藉由讀取config檔來得知我要取什麼DB

但是我又想要有擴充性
若未來有多一個Oracle的class
我只要把這個class放到編譯器目錄下面,然後換掉Config檔裡的字串,我的程式就變成了可以操作Oracle的程式了

不知大大有什麼方法或是哪種pattern可以提供小弟參考的


ericwang1017 edited on 2005-05-12 00:26
reply to postreply to post
話題樹型展開
人氣 標題 作者 字數 發文時間
2597 有關simple Factory的問題 ericwang1017 936 2005-05-11 23:43
2144 Re:有關simple Factory的問題 Shen 346 2005-05-12 01:16
2231 Re:有關simple Factory的問題 ericwang1017 273 2005-05-12 01:37
2117 Re:有關simple Factory的問題 jd001982 55 2005-05-12 07:40
2370 Re:有關simple Factory的問題 alien 818 2005-05-12 09:15
» JWorld@TW »  Software Design

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