簡體   English   中英

內置類型的依賴注入

[英]Dependency Injection for built in types

之前可能已經提出過這個問題,但在搜索SO時我沒有找到任何內容。

使用依賴注入時,您通常如何處理列表,網絡憑據等類型。

在我的一個服務構造函數中,我有:

_itemsCheckedForRelations = new List<Guid>();
_reportManagementService.Credentials = new NetworkCredential([...]);

您是否會將這些重構為自定義工廠類/接口並注入它們或按照我在此處所做的操作?

我不太確定如何處理這些類型的對象創建。

如果您只需要閱讀列表,就可以輕松地將List<Guid>替換為IList<Guid>ICollection<Guid> - 甚至IEnumerable<Guid>

對於尚未實現接口或具有虛擬成員的其他BCL類型,您需要自己提取接口。 但是,在這樣做時,您應該注意Leaky Abstractions

你可以兩條路線; 首先,正如您所說,為它們創建一個包裝器並注入它。 但是,這取決於您希望如何填充正在包裝的對象的狀態。 這個案子不是我個人所做的。 查看關於動態parmaters的Krzysztof Kozmic博客:

Castle Windsor動態參數

希望這可以幫助

暫無
暫無

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

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