在創建具有多數據庫支持的應用程序時,使用Enterprise Library vs使用OleDb類型的通用對象的優缺點是什麼?多數據庫支持
Q
多數據庫支持
4
A
回答
1
如果不真正瞭解「企業庫」與「通用OleDb」是什麼,我會建議你在開始開發一個可以處理許多數據庫的應用程序之前非常小心。當然,創建一些接口是很好的,所以人們不知道他們在呼叫什麼,但是所有的數據庫都不一樣,甚至不是很接近。最後,您最終會將代碼寫入「最低公分母」,從而使您的應用程序不能享受現代數據庫帶來的好處。還有一些嚴重的應用程序邏輯問題需要處理,例如某些數據庫編寫者在其他讀者從不鎖定的情況下阻止讀取器。關於併發進程如何與數據庫進行交互的假設可以通過你的好封裝接口,並且可能很難調試。
我的建議:
a)如果您使用簡單的持久數據庫,並希望它「到處運行」,只是它自己的多平臺的數據庫(flatfiles,sqllite等釋放你的應用程序)。 b)如果你真的想針對「任何數據庫」運行,只需使用一個hibernate類型的接口,並確保所有項目參與者意識到當他們的代碼針對不同平臺執行時出現的語義差異,然後出去你的方式使更好的數據庫的行爲像crummier的。
c)(首選) - 放棄主動,選擇一個好的數據庫,並對它寫應用程序,充分利用數據庫的能力。
我一直在這條道路上多次。
0
如果您選擇開發自己的多數據庫DAL或使用企業庫,則沒有真正的優點或缺點。如果你使用企業庫,它會給你一個跳躍的開始,但也做比你需要更多的代碼。在這種情況下,請仔細查看爲您的應用程序構建XMLish配置文件,您可以根據這些配置文件進行裁剪以適應一種或多種類型的數據庫。如果在多個數據庫上工作並不是主要關心的問題,那麼完成多數據庫工作將佔用大量時間。
相關問題
- 1. django中的多個數據庫支持
- 2. C#DB Wrapper支持多個數據庫
- 3. 在Symfony中支持多個數據庫
- 4. ASP.NET網站支持多種數據庫支持
- 5. flyway支持的數據庫
- 6. dbDacFx:支持的數據庫
- 7. Objective-C:數據庫支持
- 8. tvOS支持sqlite數據庫?
- 9. Iphone數據庫支持
- 10. 支持Unicode數據的SQLite數據庫
- 11. opencv flann庫支持整數數據嗎?
- 12. sqlite數據庫不支持2.1,2.2版本但2.3支持
- 13. 哪些數據庫系統支持ENUM數據類型,哪些不支持?
- 14. Apache Olingo是否支持Oracle數據庫
- 15. Flyway:支持較舊的數據庫
- 16. 哪些數據庫支持加密
- 17. 支持的數據庫列表?
- 18. 數據庫支持工作隊列
- 19. Kohana v3 ACL A2支持數據庫
- 20. 網絡SQL數據庫外鍵支持
- 21. sails.js是否支持數據庫視圖?
- 22. 實體框架和數據庫支持
- 23. 哪些數據庫支持web.py?
- 24. Erlang支持哪種數據庫(SQL)?
- 25. 跨數據庫實體框架支持
- 26. Node.js支持導出excel和數據庫
- 27. SQL Azure支持關係數據庫嗎?
- 28. 需要支持設計數據庫
- 29. sencha touch2是否支持SQLite數據庫?
- 30. Java中的原生數據庫支持?