簡體   English   中英

數據訪問層中的靜態方法

[英]Static method in Data Access Layer

我在數據訪問層(DAL)中使用了很多靜態方法,如:

public static DataTable GetClientNames()
{
    return CommonDAL.GetDataTable("....");
}

但我發現有些開發人員不喜歡DAL中靜態方法的想法。 我只是需要一些理由在DAL中使用或不使用靜態方法。

謝謝

托尼

從純粹主義者的角度來看,這違反了各種最佳實踐(例如,依賴於實現,緊密耦合,不透明依賴等)。 我自己會這樣說,但最近我傾向於采用更簡單的解決方案,而不會在“enterprizey”功能和流行語中潛水過多。 因此,如果沒有你編寫這樣的代碼就好了,如果這個架構允許快速開發並且可測試,最重要的是,解決了你的業務問題 - 它就好了。

如果我不得不選擇一個不使用靜態方法的原因,那就是它限制了你對代碼編寫單元測試的能力。 例如,為DAL創建模擬會更加困難,因為沒有實際的代碼接口,只有一堆靜態方法。 如果/當您決定采用需要接口的框架來支持IoC,依賴注入等內容時,這進一步限制了您。

Unit of Work ,只是靜態,不是嗎?

暫無
暫無

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

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