簡體   English   中英

什么細節應隱藏在數據訪問層中?

[英]What details should be hidden in the Data Access Layer?

我正在創建一個數據訪問層 (DAL)以讀取/修改存儲在XML文件中的某些表。 在我的應用程序運行時,這些表的行經常更新,因此我考慮了兩種可能的選擇:

  1. 當應用程序啟動時,我可以通過DAL加載表中的所有數據,並將它們放入諸如Dictionary的數據結構中。 在應用程序運行時,此字典會不斷更新。 當應用程序關閉時,我調用DAL的方法以用字典中的新數據覆蓋舊文件。
  2. 將這個字典隱藏到上層可能更正確,因此我可能在DAL中有一個Dictionary私有字段。 這樣,上層將調用DAL的方法來更新表的行。

也許第二種方法比第一種更好?

盡管確實增加了復雜性,但此處的選項2更適合封裝。 字典是您上層不應該關注的實現細節。 相反,您的數據訪問層應公開代表實際表的類-例如,您可能具有Person類或Inventory類。 作為DAL類,它們將提供適當的添加,刪除,更新,檢索等方法。

再往上,您將擁有一個域層,該域層將從DAL類中檢索到的行上運行,這將添加業務方法(例如,一個Person可能會下Order並影響Inventory -在這些域類上調用方法的行為歸結為DAL以實際接觸基礎數據)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM