有一件事讓我難以理解,而且我在書籍/博客中並沒有多少提及它,那就是如何處理真正不屬於系統的數據庫操作DAO或知識庫的管轄權。我喜歡使用通用DAO /存儲庫的方法來處理常見的數據庫操作,但是如何處理不是實體的東西呢?例如,假設我正在構建一個系統,並且在少數情況下,我需要調用存儲過程來運行批處理操作並返回成功代碼。或者,我需要從一個雜項表中加載一個日期。或者,我想從表格中加載美國各州的列表。這些情況肯定會發生,並且它們確實可能與系統中的實體或其他對象沒有任何關係。沒有放棄討厭的「misc」數據庫類放棄像NHibernate的東西手動使用ADO.NET來做這些類型的操作,什麼是OOP人羣的其他標準方法?DAO /知識庫/ NHibernate和處理邊緣數據庫案例
0
A
回答
2
繞過DAO並直接使用ADO連接器(或本地驅動程序)正是每個人所做的事情,沒有什麼「討厭」或錯誤的。如果這些確實是你的邊緣情況,那麼你會期望什麼樣的框架?更糟糕的是,當人們圍繞他們的DAO包裝各種奇怪的惡作劇時,他們只是以「不要在<插入DAO這裏插入DAO >」的名義做一些事情。
我的意思是如果你有一個存儲過程,那麼你顯然已經決定數據庫不可知論在窗口之外(這是一個被高估的目標),那麼爲什麼有關使用ADO.Net的疑慮?只要在代碼中非常明確,不要隱藏它。大聲說出自己的感受:「我正在使用數據庫,而且我不會輕彈任何人的想法!」。哦,請確保它仍然與你的其他邏輯分開。我不希望我的單元測試由於存儲過程而變慢。
相關問題
- 1. 如何處理破壞邊緣案例
- 2. Pascal案例邊緣案例
- 3. Python輸入驗證和邊緣案例處理
- 4. 在Javascript中識別一維數組的邊緣案例
- 5. Matlab處理邊緣
- 6. 處理數據庫異常
- 7. 圖形數據庫邊緣索引
- 8. 數據庫基礎知識
- 9. SQLException:使用SQLite和Scala處理未知數據庫
- 10. SharePoint和知識庫
- 11. 在處理數據庫時JSP,Servlet,DAO之間的通信
- 12. NHibernate和多個數據庫
- 13. 在數據集中查找'邊緣案例'
- 14. Doctrine2 basic;代理,知識庫
- 15. StructureMap,NHibernate和多個數據庫
- 16. 瞬態故障處理,SQL Azure,知識庫和EF
- 17. 知識庫和數據庫之間的區別
- 18. 使用nHibernate與DI數據庫實例
- 19. Dex圖形數據庫檢索所有節點和邊緣
- 20. 複製文件邊緣案例
- 21. 被DecimalFormat/RoundingMode.Down困惑的邊緣案例
- 22. Spring批處理的數據庫和元數據庫表
- 23. 在PHP中處理和通知數據庫連接失敗
- 24. C#庫節點邊緣圖
- 25. PHP和Mysqli OOP - 處理數據庫
- 26. 處理多層MVVM TreeView的數據庫事務和例外
- 27. MVVM和知識庫問題
- 28. EF4.0,知識庫和Ninject 2
- 29. 多UnitOfWorks,ISession和知識庫
- 30. 持久性和知識庫
是的,很好的建議。謝謝。 – Bobbie 2009-11-30 14:58:27