我正在使用依賴注入來呼叫我的物件,那么是否有一種更簡潔的方法可以在建構式中添加更多引數而不像下面的情況一樣使建構式簽名變長?
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;
}
uj5u.com熱心網友回復:
正如其他人所說,您的控制器有太多的責任。我建議您將功能分解為服務/業務邏輯服務。
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://www.uj5u.com/qukuanlian/376379.html
