У нас есть несколько подключаемых приложений, которые могут работать независимо друг от друга, но также могут работать в одном и том же хост-контейнере. Пользователи могут запускать один единственный хост-контейнер или несколько с одним или несколькими плагинами.
У нас есть несколько случаев "интеграции", когда люди хотят либо
- Отправка данных из одного плагина в другой
- Отправка «действий» или «команд» в другое приложение (иногда с параметрами)
У нас есть несколько вариантов:
Иметь хорошо известную шину событий на уровне контейнера, о которой знают все плагины и которая может публиковать и подписывать четко определенные сообщения или объекты
Вставить библиотеки одного в другой и вызвать API одного плагина из другого
создание плагинов интеграции, которые знают об общих точках интеграции, чтобы каждый отдельный плагин был полностью автономным, а плагин интеграции - единственное, что знает об интеграции. Это было то, что мы можем отправить каждый отдельный плагин без каких-либо посторонних зависимостей.
Мысли или другие предложения?