アシスト インジェクションを使用して clientfactory からプルする複数のプレゼンター ウィジェットがあります。
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()));
}
...
ご意見をお寄せいただきありがとうございます。