依賴注入的好處

DI其實是JAVA裏一個很基礎的概念,相信任何人都用過,在Spring裏,把它總結爲Dependency Injection,方便了程序構架的過程,並且實現low coupling。舉個簡單的例子說明,兩段代碼:

 

  1. //MyObj 
  2. public class MyObj{ 
  3.    public MyObj(){ 
  4.       ... 
  5.    } 
  6.    public void doThings() { 
  7.       //process here 
  8.    } 
  9.  
  10. // code 1 
  11. public class Test1{ 
  12. ... 
  13.    public void doProcess() { 
  14.       MyObj mo = new MyObj(); 
  15.       mo.doThings(); 
  16.    } 
  17.  
  18. // code 2 
  19. public class Test2{ 
  20.    MyObj mo; 
  21.  
  22.    public void setMo(MyObj mo){ 
  23.       this.mo = mo; 
  24.    } 
  25.  
  26.    public void doProcess(){ 
  27.       this.mo.doThings(); 
  28.    } 

上面的例子,可以範縣最明顯的優缺點就是當MyObj這個類有所改變的時候,Test1必須也要改變,而Test2由於使用了DI,所以不論Myobj這個類如何變化,只要在需要調用Test2.doProcess()的地方注入已經定義好的MyObj就可以了。

總結一下,DI大大減少了程序的coupling,而且提高了程序的重複使用性,方便獨立的unit test,並且方便將來的程序改動。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章