(Отказ от ответственности: я являюсь автором JSPF, так что лучше взять мой комментарий с зерном соли ;-)
Основная причина, почему я начал с JSPF потому, что у меня была такая же проблема, как у вас сейчас : Я искал простое решение, чтобы сделать мой тезис-проект 1) расширяемым и 2) дать ему более или менее четкую структуру кода.
Причина, по которой я не решил использовать существующую инфраструктуру, состоял в том, что большинство из них были такими тяжелыми, чтобы начать с того, что я потерялся в документации по чтению и почти забыл свою первоначальную задачу. Так, согласно выписке
Мы пытаемся определить, как реализовать простую структуру плагин для службы мы реализуем, что позволяет различные типы калькуляторов быть «подключен в».
Я думаю, что вы могли бы дать JSPF выстрел и посмотреть, как далеко вы достигнете в течение одного или двух часов.
Однако окончательное решение также зависит от того, что именно вы хотите достичь, и конкретных обстоятельств.
Я слышал положительные результаты от ряда лиц, которые использовали его для структурирования своих проектов или загрузки плагинов в своих проектах. С другой стороны, я также знаю одного человека в нашем отделе, который отбросил его снова, потому что он не чувствовал, что он хорошо смешивается со своим стилем программирования.
Таким образом, чтобы ответить на ваш вопрос кратко (и, конечно, тенденциозно), я хотел бы использовать
OSGi для проектов и команд
- , которые являются большими и имеют много людей, работающих на нем
- , которые оправдывают накладные расходы на создание инфраструктуры
- нуждается в конкретных услуг, которые предоставляет
JPF для проектов и команды
- среднего размера (?, Если честно, я не уверен, что размер проекта/команды они ориентируются)
- которые нуждаются в более структурированных объектах для организации их код, например, XML-конфигурации, подробное управление жизненным циклом плагина, расширяемые плагины ...
JSPF для проектов и команд
- малого размера, после гибкой парадигмы
- , что просто нужно что-то, что работает из коробки, без необходимости конфигурации или установки
- , желающий пожертвовать некоторыми функциями для простоты
Надеюсь, вы найдете схему плагина, наиболее подходящую для вашего сценария. И, что бы вы ни старались, я был бы рад услышать о ваших результатах.
API или SPI? Что такое SPI? – Egwor
У нас только один (или не более нескольких) прямых расширений. Можете ли вы рассказать о своей идее? –
Извините за поздний ответ. Я обновил свой оригинальный ответ более подробно. –