Мое приложение имеет следующую архитектуру:
У меня есть переменное количество классов, реализующих определенный интерфейс в библиотеке.(Все эти классы реализуют один и тот же интерфейс).
Все они создаются методом, помещаются в список и отправляются какой-то функции, которая каким-то образом обрабатывает их.
public class Initialize {
public static void main(String[] args){
ClassInterface num1 = new ClassA();
ClassInterface num2 = new ClassB();
...
ClassInterface numX = new ClassX();
List<ClassInterface> list = new ArrayList<ClassInterface>();
list.add(num1, num2, num3.....);
processList(list);
}
}
Указанные выше классы (ClassA
, ClassB
и т. Д.) Загружаются из библиотеки.
Теперь, когда это работает, это невероятно грязно и каждый раз, когда новый класс реализует ClassInterface
создается в библиотеке и требует перекомпиляции вышеуказанной программы (даже если на самом деле ничего не изменилось).
Есть ли лучший подход к решению этой проблемы?Или я что-то упускаю очевидное?