我正在使用Unity開發MVC4應用程序。我的架構就是這樣。使用Unity基於請求動態注入類
public interface IRepositoy<T>
{
}
public class DataRepository<T>:IRepository
{
}
基本上這裏T是模型。
話又說回來
public interface IModel
{
//Property and methods
}
public class Mobile: IModel
所有的模型類,從這個接口繼承。
現在團結我使用下面的語法
RegisterType<IRepository<Mobile>, DataRepository<Mobile>>();
,這裏是問題。
我希望這個「Mobile」類依賴於請求URL。說移動頁面是請求「移動」類將被注入,如果「相機」頁面被請求的相機對象將被注入。
我可以使用if-else來做到這一點。但我正在尋找更復雜的方式,這將使代碼更易於維護和強大。我是Unity和DI的新手,所以不知道最好的方法。
你能幫忙嗎?
是的,這正是我所做的。但我需要將繼承的類(移動,桌面)提供給產品控制器,以便它可以提供特定類型的請求。任何建議我該怎麼做? – user2580925