我很不確定我應該如何處理這個新的Unity容器。抽象工廠和統一依賴注入
繼承人廠我有:
class DataCopierFactory : IDataCopierFactory
{
private readonly IUnityContainer _container;
//not mad on binding the factory to the container, but feck it
public DataCopierFactory(IUnityContainer container)
{
_container = container;
}
//return a data copier that will transfer data from any DB to any other DB
public IDataCopier createDataCopier(int i)
{
switch(i)
{
case 1:
return new ScheduleDataCopier(new LTEEFContext()); //somehow resolve the LTEEFContext..
//case 2:
//
default:
throw new InvalidOperationException("Parameter -t=" + i + " does not exist");
}
}
}
當我打電話的createDataCopier方法,並傳遞一些枚舉,我想使用統一的容器來解決我的各類IDataCopiers的DB對象上下文。
我該怎麼做?
我應該在班級中打電話給工廠嗎?或者注入unitycontainer並在那一點解析不同的DB對象上下文。
IDatacopier的每個實現都有一個IDBContext作爲構造函數,我想基本上注入它,但允許我爲Datacopier的不同實現更改上下文。
希望這是有道理的... :) 在此先感謝 尼爾