我是依赖注入的新手,我想知道您将如何处理以下情况。我们有如下内容:
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。