首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果我使用依赖注入,如何在web控制器构造器中传递多个接口参数?

如果我使用依赖注入,如何在web控制器构造器中传递多个接口参数?
EN

Stack Overflow用户
提问于 2021-12-07 23:00:46
回答 1查看 197关注 0票数 -1

我正在使用依赖项注入来调用我的对象,那么是否有一种更整洁的方法可以在构造函数中添加更多的参数,而不像下面的情况那样长时间地使用构造器签名?

代码语言:javascript
复制
   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;
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-07 23:18:49

就像其他人说的,你的控制器有太多的责任。我建议您将功能分解为服务/业务逻辑服务。

代码语言:javascript
复制
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;
    }
}

然后你可以把它注入你的控制器。

代码语言:javascript
复制
public Controller(IUserService userService, ILoginService loginService) { ... }

如果它仍然太多的话,我也会建议分割你的控制器。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70267983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档