Скажем, веб-приложение является центральным механизмом обработки платежей, где у каждого пользователя может быть свой поставщик кредитных карт, который будет обрабатывать кредитную карту.
Существует интерфейс, которого придерживаются все реализации.
Я хочу знать, существует ли шаблон, в котором можно было бы просто добавить новые реализации в папку развертывания (файл .jar), не перекомпилируя приложение. Самое большее, вам нужно будет зайти в раздел администрирования и ввести некоторые подробности о внедрении новой кредитной карты.
Пример. Допустим, в данный момент приложение поддерживает Authorize.net. Так что все пользователи используют authorize.net. Теперь я пишу новую реализацию и удаляю файл .jar, захожу в администратор и регистрирую нового поставщика кредитных карт.
Теперь пользователи могут войти в систему и выбрать новую реализацию.
Возможно ли это сделать без перекомпиляции?
Может ли DI весны пригодиться для этого?