【问题标题】:Does it make sense to use on every spring boot service an interface?在每个 Spring Boot 服务上使用一个接口是否有意义?
【发布时间】:2019-11-26 16:07:08
【问题描述】:

哪种设计模式适合在 Spring / SpringBoot 中的每个服务上都有一个接口?

或者,如果您至少对给定接口使用两种不同的实现,那么将接口用于服务是否才有意义。

如果您的代码库中始终只有一个实现,那么使用接口有什么好处。

【问题讨论】:

  • 直到你达到一个对象的最大方法数。

标签: spring spring-boot design-patterns coding-style clean-architecture


【解决方案1】:

我可以回答你的问题:这取决于。

如果您考虑SOLID principles,尤其是Interface Seggregation,以及它在面向对象设计中的重要性:

在面向对象的设计中,接口提供了抽象层,可以简化代码并创建防止耦合到依赖项的屏障。

接口用于公开 API 合约而不公开其实现。

但是,正如我之前所说,这取决于用例。 假设您正在构建一个库/框架,它可以为同一接口公开多个实现或允许用户添加他们的实现。那么你肯定应该有接口。

另一方面,它也可能导致some overengineering,您的接口只有一个实现,您确定它不会有多个实现,并且不会在您的应用程序之外使用。那么也许你可以跳过它。

所以,从我的角度来看,这取决于。

【讨论】:

    猜你喜欢
    • 2011-05-31
    • 2021-12-14
    • 2016-11-08
    • 2019-07-29
    • 2016-12-03
    • 1970-01-01
    • 2021-11-05
    • 1970-01-01
    • 2022-01-15
    相关资源
    最近更新 更多