我正在构建一个WebAPI。在该WebAPI中,我使用DI(IoC)具有以下结构:
Controllers -> Services -> Repositorys -> EF : DB.
现在,当请求可以使用多个服务时,最佳做法是:
Controller -> ServiceOne/ServiceTwo -> Repositories
ServiceTwo在ServiceOne的构造函数(或)ServiceTwo和ServiceOne中实例化,或者在Controller构造函数中实例化。
我正在努力实现对问题的分离并坚持这种实施。我也在努力完成良好的代码组织和更少的代码重复。
思想?
答案 0 :(得分:1)
除了评论之外,我还将其作为答案发布,因为它超过了长度。
我说注入serviceTwo进入serviceOne将是一个很好的方法,因为控制器不需要处理很多,如果他们决定使用哪种服务。让服务层跟进其他服务并整合数据并将其返回给控制器。
如果您在服务中注入了服务
优点:
缺点:
如果您已将服务注入控制器
优点:
缺点: