依赖注入的好处

DI其实是JAVA里一个很基础的概念,相信任何人都用过,在Spring里,把它总结为Dependency Injection,方便了程序构架的过程,并且实现low coupling。举个简单的例子说明,两段代码

 
 
  1. //MyObj
  2. publicclassMyObj{
  3. publicMyObj(){
  4. ...
  5. }
  6. voiddoThings(){
  7. //processhere
  8. }
  9. }
  10. //code1
  11. classTest1{
  12. ...
  13. voiddoProcess(){
  14. MyObjmo=newMyObj();
  15. mo.doThings();
  16. }
  17. //code2
  18. classTest2{
  19. MyObjmo;
  20. voidsetMo(MyObjmo){
  21. this.mo=mo;
  22. }
  23. voiddoProcess(){
  24. this.mo.doThings();
  25. }
  26. }

上面的例子,可以范县最明显的优缺点就是当MyObj这个类有所改变的时候,Test1必须也要改变,而Test2由于使用了DI,所以不论Myobj这个类如何变化,只要在需要调用Test2.doProcess()的地方注入已经定义好的MyObj就可以了。

总结一下,DI大大减少了程序的coupling,而且提高了程序的重复使用性,方便独立的unit test,并且方便将来的程序改动。

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...