相关疑难解决方法(0)

如何避免依赖注入构造函数的疯狂?

我发现我的构造函数开始看起来像这样:

public MyClass(Container con, SomeClass1 obj1, SomeClass2, obj2.... )
Run Code Online (Sandbox Code Playgroud)

随着参数列表不断增加.由于"容器"是我的依赖注入容器,为什么我不能这样做:

public MyClass(Container con)
Run Code Online (Sandbox Code Playgroud)

每个班级?有什么缺点?如果我这样做,感觉我正在使用一个美化的静电.请分享您对IoC和依赖注入疯狂的看法.

c# java dependency-injection ioc-container inversion-of-control

288
推荐指数
4
解决办法
6万
查看次数

BestPractices:在MVC控制器中使用多个存储库是否可以接受?

我在员工和团队之间有多对多的关联.Foreach实体我有一个存储库.

现在我使用ASP.NET MVC并创建了一个EmployeeController.我还创建了一个View来编辑一个Employee.对于这个视图,我需要一个包含所有团队的DropDownList.问题是我的EmployeeController只有EmployeeRepository.那么我怎样才能得到所有团队?我现在的解决方案是使用两个存储库.

但这是一个很好的解决方案吗?

我可以改为创建TeamController并编写一个返回所有团队的方法(我该怎么做)?

model-view-controller asp.net-mvc controller repository

12
推荐指数
2
解决办法
783
查看次数

带有多个存储库和服务的.NET MVC控制器?

看看我的Controller(我正在使用依赖注入来管理依赖项):

public RoleController(IRoleRepository roleRepository, ISiteRepository siteRepository, IUserRepository userRepository, IDbContext dbContext)
{
    _roleRepository = roleRepository;
    _siteRepository = siteRepository;
    _userRepository = userRepository;
    _dbContext = dbContext;
}
Run Code Online (Sandbox Code Playgroud)

拥有许多依赖项的类是代码味道?对?

但是,在我的示例中,我需要关联UsersSites在a中Role,然后我需要这些依赖关系来执行此关联.

在邮件列表上的一些人我被告知有太多的依赖关系表明某些事情可能是错误的.但我没有别的办法.我分开了我的责任,在那种情况下有一些我不知道如何对待?有什么不对吗?

更新:

我需要Repositories和DbContext,因为DbContext是我的UnitOfWork,存储库不保存.

此示例是一个简单的CRUD,其中包含一些其他功能,例如视图中的关联和GRID.

更新2:

我正在使用我的UI层是MVC的架构.

.net c# asp.net-mvc domain-driven-design dependency-injection

5
推荐指数
1
解决办法
2523
查看次数