在每个spring boot服务上使用一个接口有意义吗?

时间:2019-11-26 16:07:08

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

Spring / SpringBoot的每个Service都代表哪种设计模式?反对在每个Service上都有接口?

或者至少在给定接口使用两种不同的实现的情况下,将接口用于服务才有意义。

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

1 个答案:

答案 0 :(得分:0)

我可以用以下方式回答您的问题:

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

  

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

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

但是,正如我之前所说,这取决于用例。 假设您正在构建一个库/框架,它可以公开同一接口的多个实现,或者允许用户添加其实现。然后,您当然应该具有接口。

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

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