反射 抽象工廠的資料訪問

2022-05-01 16:09:13 字數 555 閱讀 9267

如有一介面iuser,繼承該介面的兩個類分別為sqlserveruser和accessuser(它們之間的關係是抽象工廠模式)

而到底引用哪個類是通過db變數來決定,if(db=sqlserver)則例項sqlserveruser反之易然

簡單模式

view code

1

class data

2 16

return result;

17 }

18 }

if再要加乙個oracleuser則得加一分支,需修改該類,違反了開放-封閉原則

反射模式

必須引用using system.reflection;

view code

1

class data

2 10 }

第二個抽象工廠模式是指當前「命名空間」名稱

iuser result = (iuser)assembly.load("抽象工廠模式").createinstance("抽象工廠模式.sqlserveruser");

使用反射 抽象工廠的資料訪問 4

public idbcommand createcommand public dbdataadapter createdataadapter public idbdataparameter createparameter public void deriveparameters idbcommand...

使用反射 抽象工廠的資料訪問 2

2 定義針對於不同資料庫的工廠類 定義針對於不同資料庫的工廠類,一種資料庫就需要建立乙個相應的類。最主要 就是建立不同資料庫需要使用的對應的 connection command 等等物件。這些 很相似,所以最常見的做法就是先定義乙個基類,並且在基類中使用分支語句。例如在基類中建立連線物件的 pub...

抽象工廠 反射(一)

今天下午除錯的過程中遇到這個問題,看圖 這個問題是在那裡遇到的呢?我在配置檔案 工廠 反射實現功能時候,出現這個問題,我當時的 是這樣寫的 string strdb system.configuration.configurationmanager.connectionstrings loginda...