假设我有一个对象Foo,我希望将它转换为ExtendedFoo对象。为了做到这一点,我必须增加Foo的某些方面以获得更多细节。详细信息从辅助类中获取。请参阅下面的示例:
public class Foo {
String name;
IBar bar;
}
public class ExtendedFoo {
String name;
IBar bar; // this has to be an extendedBar implementation.
}
public interface IIBar {
public int getId();
default int getType()
{
return null;
}
}
public class Bar implements IBar {
public int getId();
}
public class ExtendedBar implements IBar {
Bar bar;
public int getId() {
bar.getId());
}
public int getType(){};
}
public static Helper {
public static ExtendedBar convert(Bar bar) {
// makes some db calls to get type info to create an Extended Bar
}
}
是否有设计模式或某些Builder esque方法来创建FooConverter,internall具有使用Helper等转换Foo-> ExtendedFoo的所有信息,我可以执行以下操作:
List<Foo> foos;
List<ExtendedFoo> extendedFoos = FooConverter.get().process(foos).transform();
请记住,在未来,我可能会将Foo添加到其他简单的 - &gt; Foo中的详细转换就像具有SimpleBiz和ExtendedBiz实现的IBizz一样