![](/img/trans.png)
[英]Automated way to write a wrapper and interface for dependency injection of third party libraries?
[英]Do I need a wrapper for third party calls that return interface?
考慮到我需要調用一個看起來像這樣的第三方API
public class ThirdPartyClass : IThirdPartyClass
{
public IThirdPartyReturnObject ThirdPartyMethod()
{
//some code
}
}
我這樣稱呼它:
public void MyClass
{
private IThirdPartyClass _thirdPartyObject;
public MyClass(IThirdPartyClass thirdPartyObject)
{
_thirdPartyObject = thirdPartyObject;
}
public void MyFunction()
{
_thirdPartyObject.ThirdPartyMethod();
}
}
由於第三方類是通過接口注入的,因此我可以模擬第三方對象進行單元測試。
這是設計好,或者我應該引入封裝ThirdPartyMethod的只是調用一個ThirdPartyClassWrapper? 引入過多的包裝器是否是反模式?
不需要引入包裝器類-來自任何地方的模擬接口都是用於單元測試的標准且簡便的方法。
是否應該執行此操作-取決於您的需求-例如,有時將具有較大接口的外觀模式與多個第三方接口相結合可能更適合您的項目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.