避免参数定义不当引起接口频繁变动

        接口在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是参数接口,这样就更加加大了扩展空间和想象空间。

 

 

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