Я хотел простой способ для не кодировщиков отображать новые «тесты» с типами «тест» с наименьшим количеством изменений кода, используя Guice для внедрения зависимостей.Мне нравится простота, но не очевидное отсутствие безопасности типов.Любые предложения, чтобы сделать это лучше?
public enum TestType {
TEST_TYPE_1("TEST-1", Test1.class),
TEST_TYPE_2("TEST-2", Test2.class),
TEST_TYPE_3("TEST-3", Test3.class),
TEST_TYPE_4("TEST-4", Test4.class),
TEST_TYPE_5("TEST-5", Test5.class);
private final String testType;
private final Class<TestIF> tester;
private <TestIF> TestType(String testType, Class<TestIF> tester) {
this.testType = testType;
this.tester = (Class<tester.TestIF>) tester;
}
public String toString() {
return this.testType;
}
public Class<TestIF> tester() {
return this.tester;
}
}
"Тест" будет создан следующим образом:
TestIF tester = Guice.createInjector().getInstance(testType.tester());
tester.execute();