.NET 下的資料庫操作類庫(MyADO)

來源:互聯網
上載者:User
ado|資料|資料庫 目前大多數開發人員長期從事企業開發的工作,免不了經常和資料庫打交道,頻繁的資料操作的代碼就在項目中到處出現,為了去掉這些代碼中“重複”的臭味,一些人寫了資料庫操作的類庫,包括很多大企業也有自己的組件,但是實現方法可能各有不同吧。很早以前看過一遍孫亞民先生的文章也是設計模式的應用,很有啟發自己也寫了.net下的資料庫操作類庫,其實早就想把它出來共用了,現在很多資料庫組件也很成熟了,又有SqlHelper這樣權威的,所以也就不用拿我這個組件和它們的比較了,就算給大家擴充擴充思路吧。首先設計模式在OOA/OOD的領域中被廣泛的應用,相信大家為了使自己的系統有高擴充性和高靈活性,在自己的項目中也都使用了設計模式。在這個類庫中我使用了“抽象工廠”模式(也是我熟悉的第一個設計模式),其好處就在於外部告訴“工廠”要生產什麼,“工廠”就能老老實實的生產出來為外部所使用,至於其中的其它細節呢外部就不需要知道了。現在我們有的項目後台資料庫要操作SQL Server,有的則是Oracle或是其它別的什麼資料庫,在操作上還是有不同的地方(比如使用不同的命名空間,不同的操作對象等等),我們剛好做個“工廠”出來讓為來自外部的調用產生SQL Server或是Orcale的操作對象,在資料庫和我們的應用之間建立一個邏輯層,前面操作資料庫的方法完全通過組件完成而不用去關心背景資料庫類型。下面看一下我的這個“工廠”結構組件的類圖基類就是DBOperator,也就是我們外部存取資料庫的最終使用對象,它是抽象類別沒有使用介面。幾個衍生類別是ODBCOperator,OleDBOperator,SqlDBOperator……(根據需要還可以再定義),為了真正實現對應資料庫的操作。

DBOperatorFactory就是工廠類了,負責“生產”一個合理類的執行個體。

 DBEnum枚舉類型,列了幾個常用資料類型,用於告訴“工廠”生產什麼對象。

 具體的資料庫操作都是DBOperator定義出來的,比如資料庫的Open,Close等等,而衍生類別覆蓋基類的方法來具體實現操作的代碼。用戶端調用的時候就直接調用DBOperatorFactory類的GetDBOperator方法去擷取資料庫操作執行個體就可以了(為了使用方便這裡的類還可以根據使用者經常使用的資料庫而定,比如我經常用SQL Server 所以我有一個方法重載直接產生SqlDBOperator的執行個體)。每次用的時候別忘了using MyADO

 下載地址(包括原始碼):http://bbs.wangxu.net/temp/myado.rar

 上面的類圖用Visual Studio 2005 產生的我覺得挺好看的,呵呵。另外我的在.net framework 1.1 和.net framework 2.0 上都運行了沒問題(2.0 測試的還不充分)。回想原來我用VB寫的ADO COM組件,這個真是高出許多啊。供大家參考了,歡迎討論。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。