我正在使用依赖项注入来调用我的对象,那么是否有一种更整洁的方法可以在构造函数中添加更多的参数,而不像下面的情况那样长时间地使用构造器签名?
public ObjectController(IParam1 param1, IParam2 param2, IParam3 param3,
IParam4 param4,IParam5 param6,IParam7 param8)
{
_param1= param1;
_param2 = param2;
_param3= param3;
_param4= param4;
_param5= param5;
_param6= param6;
_param7= param7;
_param8= param8;
}发布于 2021-12-07 23:18:49
就像其他人说的,你的控制器有太多的责任。我建议您将功能分解为服务/业务逻辑服务。
public class UserService : IUserService {
IParam _param;
IParam2 _param2;
public UserService(IParam param, IParam2 param2) {
_param = param;
_param2 = param2;
}
}
public class LoginService : ILoginService {
IParam _param;
IParam2 _param2;
public UserService(IParam param, IParam2 param2) {
_param = param;
_param2 = param2;
}
}然后你可以把它注入你的控制器。
public Controller(IUserService userService, ILoginService loginService) { ... }如果它仍然太多的话,我也会建议分割你的控制器。
https://stackoverflow.com/questions/70267983
复制相似问题