您的位置:首页 > 编程语言

代码优化——默认实现

2016-10-18 16:23 141 查看
Java是一门面向对象的编程语言,面向对象一个重要特征就是多态,提倡面向接口或抽象类编程。

设计接口或抽象类的目的主要是为了方便扩展,对于一些经常使用到的实现,我们就可以提供一个默认实现。

比如我们设计一个网络请求框架的时候,希望可以把请求到的数据流交由用户去处理,到底是转换为String,还是byte,还是其他JavaBean...等等。

但是大部分情况,用户都是希望返回字符串,所以我们就可以这样设计。

设计一个数据解析接口,用来解析网络请求数据

public interface DataParser<T> {

/**
* 解析数据
* @param data 网络请求返回的数据流
* @return
* @throws Exception
*/
T parse(InputStream data) throws Exception;

// 默认的String解析器
DataParser<String> STRING_PARSER = new DataParser<String>() {

@Override
public String parse(InputStream data) throws Exception {
if (null == data)
return null;

BufferedReader br = null;
StringBuffer sb = new StringBuffer();
try {
br = new BufferedReader(new InputStreamReader(data));
String line = null;
while (((line = br.readLine()) != null)) {
sb.append(line);
}
} finally {
if (null != br)
br.close();
}

return sb.toString();
}
};
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐