簡體   English   中英

輔助類和單元測試

[英]Helper Classes and Unit Testing

當編寫恰好在幾個類文件中通用的代碼時,我傾向於將它們放在幫助文件中。

是否應該將助手類或實用程序類注入到需要它的類中? 還是簡單地引用它“組合”更好?

問候

您選擇組合與繼承的原因應該是眾所周知的 SOLID 原則。 然后,“有利於繼承而不是繼承”是他們的結果,IMO。

IMO 你有一個 Utility 類

  • 它是靜態的(如 Saurabh 所說);
  • 任務與特定領域無關,但與原始數據相關(例如反轉列表的實用程序);
  • 其功能無副作用;
  • 它的功能沒有替代實現。

無論如何,有了 C# 擴展,現在很少會創建實用程序類了。

使用實用程序類,您無需注入它(它是靜態的且可測試的)。 相反,如果你有組合,依賴倒置原則指出你應該“依賴抽象,而不是具體化”,這樣你就可以讓容器注入你的抽象。

最好將其作為靜態類的實用程序類。

依賴關系與特定類密切相關,但在您的場景中,我會說您需要一個實用程序類。

我會說你不需要復雜的注入,除非你幫助多種風格的助手類,每一種都以略有不同的方式做同樣的事情。 我會說構圖是合理的; 您也可以將其設為實用程序或工具包靜態類,這可能會使您的代碼更加明確。

暫無
暫無

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

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