Как создать plugin архитектуру?

Рейтинг: 1Ответов: 1Опубликовано: 06.12.2014

Пытаюсь впервые сделать plugin архитектуру.

С пониманием самой архитектуры у меня сложностей, вроде, нет. Как я понимаю, должен быть некий интерфейс, который и описывается в плагинах. Затем этот плагин помещается в коллекцию плагинов, где контроллер вызывает те или иные методы. Также по добавлению в коллекцию плагин проходит через инжектирование, получая нужные и описанные в спецификации зависимости.

Но есть момент, который я не понимаю из-за малой работы с плагинами в какой-то библиотеке.
Поэтому я и хочу спросить у вас, возможно, вы где-то встречались с подобным и можете описать ход мысли и реализации.

А интересует меня взаимодействие между плагинами, ведь плагины могут взаимодействовать между собой? Если взаимодействуют, то как?

Ответы

▲ 1Принят

Через основное приложение? Плагин отправляет запрос о наличии другого плагина, приложение смотрит и отвечает 'yes', тогда плагин отправляет запрос для того плагина (например, 'удались'), и если второй плагин понимает, о чем его просят, - выполняет запрос.