让我们想象一下,我们有一个大型数据结构(我们称之为Configuration
)和各种客户端类(我们称之为它们Services
)。每个服务只需要一个或两个字段Configuration
。
如果我们将整个Configuration
对象注入到各个Service
s中,这是否违反了ISP?Configuration
技术上是数据结构而不是字面 Java 接口这一事实是否改变了 ISP 背后的基本点?
我面临的实际困境是如何配置对我的系统的各个部分可用。我可以选择使用 Spring 的@Value
注解,通过它每个组件都能准确地获得它需要的东西,仅此而已。我的第二个选择是使一个Configuration
实例作为一个整体可用。在第二种情况下,系统的每个组件都将获得整个系统的配置,而不是只获得它实际需要的几个部分。
我试图了解第二种选择是否违反 ISP。