2、定義針對於不同資料庫的工廠類
定義針對於不同資料庫的工廠類,一種資料庫就需要建立乙個相應的類。最主要**就是建立不同資料庫需要使用的對應的
connection
,command
等等物件。這些**很相似,所以最常見的做法就是先定義乙個基類,並且在基類中使用分支語句。
例如在基類中建立連線物件的**:
publicidbconnectioncreateconnection(string databasetype)
case "oracle":
case "access ":
… }
}這樣的**沒有使用反射機制,類的例項化被「寫死」在**中,也就是說,如果需要新增其他資料庫,不得不開啟源**,新增乙個分支並重新編譯。為了去處這種分支結構,並且在執行時根據系統提供的引數動態例項化資料庫物件,我們引入了反射機制。
反射 抽象工廠的資料訪問
如有一介面iuser,繼承該介面的兩個類分別為sqlserveruser和accessuser 它們之間的關係是抽象工廠模式 而到底引用哪個類是通過db變數來決定,if db sqlserver 則例項sqlserveruser反之易然 簡單模式 view code 1 class data 2 1...
使用反射 抽象工廠的資料訪問 4
public idbcommand createcommand public dbdataadapter createdataadapter public idbdataparameter createparameter public void deriveparameters idbcommand...
談一談 抽象工廠 反射 配置檔案 實現資料訪問程式
大話設計模式 中第15章中 就不能不換db嗎?引出了我今天要談論的主題 抽象工廠 反射 配置檔案 實現資料訪問程式。當時也不甚理解啊。到了機房收費的親身實踐中,最終體會到了這對組合的奧秘。抽象工廠模式 abstract factory 提供乙個建立一系列相關或相互依賴物件的介面,而無需制定它們詳細的...