4
我正在開發一個Web API項目。我正在調用一個負責數據庫交互的存儲庫。該存儲庫與第三方數據源進行交互。依賴注入的實現
我想實現依賴注入(DI)到存儲庫層注入第三方數據源的依賴關係,但是我該如何實現這一點,因爲在該第三方DLL中沒有接口?
我使用Unity框架。
第三方DLL僅包括一類:
using System;
using System.Collections.Generic;
namespace MoviesLibrary
{
public class MovieDataSource
{
public MovieDataSource();
public int Create(MovieData movie);
public List<MovieData> GetAllData();
public MovieData GetDataById(int id);
public void Update(MovieData movie);
}
}
我有點困惑,我對DI和repository沒有足夠的知識。我不明白這一行 - 這個第三方組件如何與存儲庫相關聯?它是否是由存儲庫內部使用的獨立服務?我使用的圖層(webapi-> repository-> External DLL)不合適? – F11 2014-09-10 14:36:52
@little:如果第三方組件*是存儲庫實現,那麼它可能根本不需要注入/模擬。我以爲你有一個數據庫存儲庫,只需要一個單獨的服務組件作爲依賴項來使用它的一些功能。但是,如果整個存儲庫只是委託給第三方組件,那麼對於單元測試,只有集成測試沒有任何意義,所以不需要注入它。 – David 2014-09-10 14:39:02
感謝大衛,只是一個小問題,我可以在webapi和外部數據源層之間使用存儲庫嗎? – F11 2014-09-10 14:43:43