Карта может быть хорошей идеей.Это означает, что если вы поместите свои экземпляры команд на карту как значения, где ваш ключ будет чем-то, что вы можете сопоставить с входящей строкойТогда вместо последовательного поиска с эффективностью O (n) вы можете получить гораздо лучшую производительность O (1).Это короткий ответ.
Кроме того, существует библиотека Java с открытым исходным кодом MgntUtils (написанная мной), которая содержит некоторую утилиту под названием «Самоинстанцирующие фабрики». В основном она управляет вами и фабрикой для вас.Все, что вам нужно сделать, это создать класс, который реализует определенный интерфейс, и утилита добавит его для вас в фабрику, основанную на карте.Это может быть полезно для вас.Вот ссылка на статью, которая объясняет об утилитах в библиотеке, а также о том, где взять библиотеку (Github и Maven central).В статье ищем абзац " Управление жизненным циклом (самоинстанцирующие фабрики) ".Также библиотека поставляется с подробным письменным javadoc и примером кода для этой функции.