避免參數定義不當引起接口頻繁變動

        接口在java中是個很好的東西,使用接口能夠使設計變得靈活,運用得好能夠很大程度減少代碼之間的耦合度,提高系統的擴展性。一個好的接口,不應該是經常變動的,接口的定義體現着設計者對業務的理解和計者設計的功底。實際中,接口的設計往往不可能面面俱到,但是應該儘量避免變動。這裏發現一條經驗,就是接口傳遞參數時,儘量用一個參數封裝多個參數,比如說接口中有個方法:

public void m1(String p1,String p2);

如果中途發現傳遞的參數不足,變爲:

public void m1(String p1,String p2,int n);

後面某個時候,又覺得傳遞的參數不足,這下又得加參數了,接口也得跟着變,使用的人可能跟着頭疼。如果一開始的時候就這麼定義:

public void m1(Param p1);

Param 是參數類:

public class Param {  
   public String p1;
   public String p2;
}  

後面加參數,就不需要變動接口方法了,只需要在Param 中增加參數:

public class Param {  
   public String p1;  
   public String p2;  
   public int n;  
}

這樣就避免了接口的頻繁變動,尤其是在第三方接口中尤爲重要,不光是傳入參數,傳出也是類似的道理。

其實比較擴展的做法是接口參數傳遞接口,更加靈活:

public void m1(IParam p);

IParam是參數接口,這樣就更加加大了擴展空間和想象空間。

 

 

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