Unity Dependency Injection和Helper函数

时间:2018-02-03 12:20:45

标签: c# dependency-injection

我有一组用于读/写数据库的服务。这些被注入我的控制器:

ISystemSettingService _systemSettingService = null;
IStatusTypeService _statusTypeservice = null;

public MyController(
    ISystemSettingService systemSettingService,
    IStatusTypeService statusTypeservice)
{
    _systemSettingService = systemSettingService;
    _statusTypeservice = statusTypeservice;
}

所以当我需要来自_systemSettingService的东西时,我很容易就能得到它。现在我还有一些静态助手类/函数,我从MyController调用。在这些功能中,我经常需要访问服务,以便访问数据库。例如我有一个Validate(string userData, ISystemSettingService systemSettingService)函数,它接受从用户传入的一些数据。

到目前为止,进入Validate函数我已经传递_systemSettingService所以我可以使用它。我不确定这是否正确。

我的问题 - 我的方法是正确的,或者在Validate函数中,我应该创建一个统一容器来ResolveISystemSettingService的一个实例,或者正如我一直在阅读的那样,如果我的助手类不是静态的,我应该将ISystemSettingService注入到构造函数中,这显然会使单元测试更容易。

我有点困惑!感谢。

0 个答案:

没有答案