我正在使用AWS SDK for Java,它包含大量包含常用方法的类,但常用方法不实现公共接口(或从公共基类扩展等)
例如,我必须经常写这个模式:
while(true) {
InformationResult result = client.getInformation(new InformationRequest());
CustomData data = result.getData();
// do stuff
if ! result.isTruncated() {
break;
}
}
我想只编写一次此模式,但是有许多CustomData
和InformationResult
类没有多态关系。
想法?我不想自己包装所有课程。
答案 0 :(得分:0)
Java在这里对你非常无礼。为什么要原谅? Foo.baz
和Bar.baz
是两种没有任何共同点的方法。这些名字并不重要。您必须责怪图书馆创建者,他们可能使用其他语言的公共代码生成此源代码和其他AWS SDK语言的源代码。
亚马逊开发人员最初也可能会考虑像Javascript这样的目标语言,在这种情况下,通用名称就足以使客户端代码成为通用名称。 Java案例可能已被屠杀。
您的选择是:
注意(1)在Java世界中很常见,所以如果你选择它,不要感到惊讶。
我还建议在AWS论坛上发帖,看看是否有其他人已经解决了这个问题。可能有一些Java中间件已经写了一些可怜的灵魂。