str*_*ppi 14 java spring encapsulation dependency-injection
来自C++背景我必须掌握Java世界及其框架的复杂性.看一下DI的弹簧框架,我发现我很难相信我必须制作每个将受DI公众影响的setter功能.这种要求是否违反了信息隐藏原则?
当然我希望spring能够设置我的类的一些私有部分,但我当然不希望每个客户端类都能够做同样的事情.
我在这里错过了什么?
duf*_*ymo 15
我同意你的观点 - 这就是为什么我更喜欢构造函数注入.
您(可能)必须制作一个制定者,它会告知您外部的一些内部细节,但不需要制作一个吸气剂.所以你要透露一些信息,但不是太多; 除了预期目的之外,它对任何事情都没有用.
另外,我建议使用注释和@Autowired,在这种情况下,您不需要创建公共setter.
归档时间: |
|
查看次数: |
1798 次 |
最近记录: |