日期:2014-05-17  浏览次数:20632 次

java接口设计
public List executeQueryForList(String statementName, Object parameterObject);比如这样一个接口,实现类需要两个参数,如果以后实现类变了,需要一个参数了,改怎么办。能不能设计接口不带参数,然后通过某些方式来传的需要的参数。
------解决方案--------------------

public List executeQueryForList(String statementName, Object... parameterObject);

后面可以跟任意多个参数,自己在实现类中处理就是了
------解决方案--------------------
引用:
Objective C code?12public List executeQueryForList(String statementName, Object... parameterObject);
后面可以跟任意多个参数,自己在实现类中处理就是了

个人浅见:既然是接口,就应该是个标准,就应该灰常明确,用可变参数就显得不那么明确了,不知道我理解的是否正确。
楼主当然也可以定义一个木有参数的方法,然后实现类里面实现这个方法就行了。
个人拙见,欢迎拍砖。
------解决方案--------------------
反正现在我们的做法就是,增加一个新的接口,然后去调用现在的接口实现方法,只是在现在的接口实现方法中去增加一些条件判断。
------解决方案--------------------
参数用数据对象啊
------解决方案--------------------
引用:
引用:Objective C code?12public List executeQueryForList(String statementName, Object... parameterObject);
后面可以跟任意多个参数,自己在实现类中处理就是了
个人浅见:既然是接口,就应该是个标准,就应该灰常明确,用可变参数就显得不那么明确了……


既然是接口,就应该是个标准++
不要破坏面向接口编程


------解决方案--------------------
采用方法重载吧。
------解决方案--------------------
这个可以考虑用Map来传参数,
public List executeQueryForList(Map param);
然后在实现类里根据Map里的传数来做处理;

------解决方案--------------------
可以设计一个工厂,根据不同参数产出实例