我按照Java builder 模式创建了一个类,它对我来说效果很好,但是现在我发现自己需要更多的模块化。这可以在不废弃 Builder 的情况下完成吗?
例如,我想使用枚举的配置数组(或任何其他可以让我自定义字段顺序和选择的方法)来构建我的 Person 对象。这些值来自各种嵌套对象,我需要在特定时间以特定顺序创建特定字段来创建输出 CSV。
public static enum FIELDS = { FIRST, MIDDLE, LAST }
List<FIELDS> fields = { FIRST, LAST } creates:
Person person = new Person.builder().first("john").last("doe").build();
List<FIELDS> fields = { LAST, FIRST, MIDDLE } creates:
Person person = new Person.builder().last("doe").first("john").middle("q").build();
是否可以在枚举上执行任何类型的 switch 语句来动态构造 Person ?