我有一个三层的项目。
第一个是 DAL
第二个是域
第三个是介绍
我在我的域层(ICategoryRepository)中创建了一个接口,这里是代码
public interface ICategoryRepository
{
List<CategoryDTO> GetCategory();
}
我在我的 DAL 中创建了一个类来实现我的域中的 ICategoryRepository。
public class CategoryRepository : ICategoryRepository
{
BookInfoContext _context;
public List<CategoryDTO> GetCategory()
{
_context = new BookInfoContext();
var categoryDto = _context.Categories
.Select(c => new CategoryDTO
{
CategoryId = c.CategroyId,
CategoryName = c.CategoryName
}).ToList();
return categoryDto;
}
}
然后我在我的域中创建一个类,并将 ICategoryRepository 作为参数传递给我的构造函数。
public class CategoryService
{
ICategoryRepository _categoryService;
public CategoryService(ICategoryRepository categoryService)
{
this._categoryService = categoryService;
}
public List<CategoryDTO> GetCategory()
{
return _categoryService.GetCategory();
}
}
我这样做是为了反转控制。而不是我的域将依赖于 DAL,我反转了控件,以便 myDAL 将依赖于我的 DOMAIN。
我的问题是,每次我在表示层中调用 CategoryService 时,我都需要将 ICategoryRepository 作为 DAL 中的构造函数的参数传递。我不希望我的表示层依赖于我的 DAL。
有什么建议吗?
谢谢,