java中的泛型编程实例

2011-12-31

因为软件中设计的需要,想尽量让代码看上去快乐一点。

所以用到了一些设计模式。。我也不知道这个“设计模式” 的名字叫什么……是模仿淘宝SDK的方式设计的。

所以也顺便学了java的泛型编程。

目的是为了实现基于服务器的API,实现简单的java SDK。

也就是将 HTTP 的参数进行封装,然后执行,接着将返回的数据交给另外一个类进行解析 和 相关操作。

StoryClient client = new StoryClient(Settings.API_URL); StoryContentGetRequest request = new StoryContentGetRequest(); //请求类 request.setPage(page); request.setType(StoryType.TOP); request.setUid(Settings.USER.getId()); StoryContentGetResponse response = client.execute(request); //执行方法

StoryClient 客户执行类。

StoryContentGetRequest  请求类。

StoryContentGetResponse  返回的处理类。

client.execute(request)  的实现细节

public <T extends StoryResponse> T execute(IStoryRequest<T> request) throws Exception {}

可以看到,

StoryContentGetResponse 继承自 StoryResponse,

这样做的目的在于,让execute 方法可以返回任何继承自 StoryResponse 类的类。

StoryContentGetRequest 实现自 IStoryRequest 接口,

这样的话所有实现了这个接口的类,都可以被放在这里操作。

如果以后有新的API,只需要继承或实现相关类和接口就行了。

修改起来也很简单~