我的Java代码中出现了多次以下模式,并且想知道你们中的一些人是如何重构它的.
Object obj1 = buildObj1();
if (obj1 != null) {
return obj1;
}
Object obj2 = buildObj2();
if (obj2 != null) {
return obj2;
}
Object obj3 = buildObj3();
if (obj3 != null) {
return obj3;
}
Run Code Online (Sandbox Code Playgroud)
因为Java没有一流的功能,所以你真正做的最好的事情就是拥有一个"构建东西"的界面,然后做这样的事情:
for (Builder<T> builder : builders) {
T obj = builder.build();
if (obj != null) return obj;
}
Run Code Online (Sandbox Code Playgroud)
Builder界面就像这样:
public interface Builder<T> {
T build();
}
Run Code Online (Sandbox Code Playgroud)
builders在顶部片段是一个Iterable<Builder<T>>.
| 归档时间: |
|
| 查看次数: |
466 次 |
| 最近记录: |