У меня есть набор алгоритмов, реализованных в Java и упакованных как файлы jar. Алгоритмы предназначены для третьей стороны для доступа к ним. Алгоритмы имеют несколько вариантов. Сверхурочная работа, новые версии и новые типы алгоритмов будут добавлены. В то же время я не хочу, чтобы все третьи стороны были вынуждены использовать новый алгоритм.как реализовать хранилище алгоритмов?
Я рассматриваю возможность внедрения простой системы репозитория для этого. Требования заключаются в следующем:
- создание/удаление репозиториев, так что каждое репо содержит один набор вариантов алгоритма.
- Алгоритмы в одном репозитории могут иметь серверные версии, запущенные одновременно.
- новые алгоритмы могут быть добавлены к репо.
Есть ли какой-то проект с открытым исходным кодом, соответствующий моему требованию? Или есть какой-то шаблон дизайна для таких проблем?
Поиск интерфейсов и заводов. (Забавно, что вы должны упомянуть «шаблон дизайна».) – greybeard
Я думаю, что интерфейсы и фабрики только абстрагируют внешнее поведение репо, но я думаю о лучшей практике для внутреннего механизма репо. например Как упаковать различные версии алгоритмов в банку. Как сохранить их, как обратиться к определенной версии и т. Д. – xing
Для каждого заданного алгоритма каждая версия реализована в отдельном классе (отличное полное имя)? – dotvav