在UI按钮单击中,我必须先实例化一个DAL对象,然后才能实例化一个BLL对象。这看起来很麻烦,在对象本身之前创建对象依赖关系(比在BLL内实例化依赖关系更多的代码)。这仅仅是使用依赖注入必须支付的代价吗?依赖注入和UI组合
它只是让我感到需要实例化BLL的准备工作在UI中。这是做依赖注入的正确方法吗?有没有办法将UI和BLL准备逻辑分开?
class DAL{
//Data access layer
}
class BLL{
public BLL(DAL dal){
this.dal = dal;
}
private DAL dal;
}
buttonRun_Click(object sender, EventArgs e){
DAL dal = new DAL();
BLL bll = new BAL(dal);
bll.DoStuff();
}
这不是一个问题.... – BentOnCoding 2011-06-10 21:47:58
@Robotsushi,固定 – sooprise 2011-06-10 21:49:20
这真的是DI吗?对于事件处理程序,dal和bll都是本地的,所以如果它们没有任何其他依赖关系,那么DoStuff()就没有可观察到的效果。 – Andrei 2011-06-10 21:53:50