Spring的依赖注入不会破坏信息的隐藏?
2022-09-03 18:05:07
我来自C++背景,我必须掌握Java世界及其框架的复杂性。看看DI的弹簧框架,我发现很难相信我必须使DI公开的每个设置器函数。这个要求难道没有打破信息隐藏的原则吗?
当然,我希望spring能够设置我的课程的一些私人部分,但我当然不希望每个客户端课程都能够做同样的事情。
我在这里错过了什么?
我来自C++背景,我必须掌握Java世界及其框架的复杂性。看看DI的弹簧框架,我发现很难相信我必须使DI公开的每个设置器函数。这个要求难道没有打破信息隐藏的原则吗?
当然,我希望spring能够设置我的课程的一些私人部分,但我当然不希望每个客户端课程都能够做同样的事情。
我在这里错过了什么?
我同意你的观点 - 这就是为什么我更喜欢构造函数注入。
如果对接口进行编码,则只需在实现上公开 setter。当您将接口注入系统的其他部分时,它们无法访问对象的实现详细信息或状态。