我是新来的依赖注入,我想知道你将如何处理以下情况。我们有类似如下:如何注入变化的依赖关系
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