Spring 依赖项注入与工厂或目录
我一直在想,是否有人在任何非玩具项目中使用DI/IoC,他可以选择实现风格(而不是由库或开发需求强制实施) 毕竟,如果我们想要一个类的单个实例,工厂就是完美的机制;如果我们想要一个特定的实例,目录服务就是完美的机制 那么,在其中添加Spring/Guice/等并为我们自己创建另一个依赖项有什么大不了的呢?(或者我完全不理解他们的DI方法…) 谢谢。没有提到框架,只是声称:Spring 依赖项注入与工厂或目录,spring,design-patterns,dependency-injection,inversion-of-control,guice,Spring,Design Patterns,Dependency Injection,Inversion Of Control,Guice,我一直在想,是否有人在任何非玩具项目中使用DI/IoC,他可以选择实现风格(而不是由库或开发需求强制实施) 毕竟,如果我们想要一个类的单个实例,工厂就是完美的机制;如果我们想要一个特定的实例,目录服务就是完美的机制 那么,在其中添加Spring/Guice/等并为我们自己创建另一个依赖项有什么大不了的呢?(或者我完全不理解他们的DI方法…) 谢谢。没有提到框架,只是声称: 高级模块不应依赖于低级模块。两者都应该依赖于抽象 抽象不应该依赖于细节。细节应该取决于抽象 控制反转(IoC)原则也与减少软
我认为,避免使用IoC容器的唯一原因是当公司的规则和协议限制您使用第三方库时。DI还将帮助您进行生命周期管理,并允许您更接近于声明依赖项,而不是手动获取依赖项。也就是说,如果您对所描述的模式更熟悉,我看不出它们有什么错。可测试性是DI的主要优点:您可以在单元测试中注入模拟依赖项。我想说,现在,几乎所有非玩具Java项目都使用DI:Spring促进DI,JavaEE和CDI促进DI。阅读DI的动机。酷!谢谢你的回答!。。。再次感谢你!那些链接非常有用!