我有多个使用辅助注入从客户端工厂提取的演示者小部件。
public interface FieldFactory {
TextboxPresenterWidget createTextBoxWidget(Field field);
BooleanPresenterWidget createBooleanWidget(Field field);
...
}
这目前工作正常,但我想要做的是能够创建我想要的小部件,而不必专门调用它,而是能够将它的类型作为注入的一部分传入以获取正确的 PresenterWidget。
每个“字段”对象都有一个枚举属性,它是什么类型的......我想知道是否有办法,我将如何去做。
最好我的工厂看起来更像这样:
public interface FieldFactory {
TextboxPresenterWidget create(Field field, FieldType type);
BooleanPresenterWidget create(Field field, FieldType type);
...
}
这将使我的 impl 代码更像:
...
for(Field field : fields) {
addToSlot(SLOT_NAME, fieldFactory.create(field, field.getType()));
}
...
感谢您的任何意见,非常感谢!