我正在构建一个标准的三层应用程序。
1前端控制台应用
2业务逻辑层
3数据层
主要目的是显示数据库表中的一些客户数据。
我试图遵循书中的指导方针" .NET中的依赖注入"没有从控制台到数据层的引用,也没有从业务层到数据层的引用。允许在需要时轻松交换前端和数据层。
我们假设我在名为CustomerService的业务层有一项服务,并且它有一个GetCustomers()
方法
CustomerService
的构造函数需要ICustomerRepository
这样
public class CustomerService
{
ICustomerRepository repository;
public CustomerService(ICustomerRepository repository)
{
this.repository = repository;
}
public ICollection<Customer> GetCustomers()
{
return repository.GetCustomers();
}
}
在数据层我有
public class CustomerRepository : BLL.ICustomerRepository
{
public ICollection<Customer> GetCustomers()
{
// get the customers from the db
return customers;
}
}
在控制台应用程序中,我想使用Ninject调用创建CustomerService对象来实现ICustomerRepository依赖项。
class DIModule : NinjectModule
{
public override void Load()
{
Bind<>(ICustomerRepository).To<??????????????>()
}
}
如何绑定数据层CustomerRepository类?我必须从控制台应用程序添加一个引用到数据层才能使用它? 我做错了什么?
答案 0 :(得分:1)
Bind<ICustomerRepository>().To<CustomerRepository>();