gpt4 book ai didi

spring-boot - 为什么我不应该在一个 Controller 类中调用多个服务?

转载 作者:行者123 更新时间:2023-12-02 18:11:23 25 4
gpt4 key购买 nike

我刚刚阅读了以下文章
这里:What is the best approach to use multiple services inside a resource controller?
在这里:Can I have multiple services in a Controller class - Spring MVC?
文章说我不应该在一个 Controller 类中调用多个服务。我应该将所有服务封装在一个 Facade 类(Facade 模式)中。

那么为什么我不应该在一个 Controller 类中调用多个服务呢?
我可以在一个服务类中调用多个服务吗?正确吗?

最佳答案

从技术上讲,没有什么可以阻止您从 Controller 调用多个服务,但这可能是一个糟糕的设计决策,主要是由于 Single Responsibility Principle 。粗略地说,这表明类应该具有单一的职责和更改的理由, Controller 是应用程序的接口(interface),并且应该只关注这一点。任何需要导入多个服务的类都可能包含一些业务逻辑,并且该代码可能比 Controller 类更好地放置在单独的业务层类中。

如果您在 Controller 的每个方法中仅使用单个服务,也许您应该将 Controller 拆分为更小的 Controller ,每个 Controller 使用与其相关的服务。

关于spring-boot - 为什么我不应该在一个 Controller 类中调用多个服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72298136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com