我是新來的依賴注入,我想知道你將如何處理以下情況。我們有類似如下:如何注入變化的依賴關係
public class DatabaseContext
{
public string ConnectionString {get;}
}
public interface IDataAccess
{
string GetString(int id);
}
public class DataAccessImpl : IDataAccess
{
private DatabaseContext _context;
public DataAccessImpl(DatabaseContext context)
{
this._context=context;
}
public string GetString(int id)
{
return "some data";
}
}
對於Web應用程序的每個請求可以建立不同的DatabaseContext指向不同的數據庫。對於Windows窗體,我們可以更改當前的DatabaseContext。 di框架如何處理可以改變的依賴關係?這樣,當我請求一個IDataAccess它總是有適當的/當前的DatabaseContext。
順便說一句:IMO,IDataAccess是一個可怕的接口名稱。嘗試使用可以描述其行爲的名稱。 – 2008-11-08 12:58:42