我有一组用于读/写数据库的服务。这些被注入我的控制器:
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
函数中,我应该创建一个统一容器来Resolve
我ISystemSettingService
的一个实例,或者正如我一直在阅读的那样,如果我的助手类不是静态的,我应该将ISystemSettingService
注入到构造函数中,这显然会使单元测试更容易。
我有点困惑!感谢。