Рассылка для плагинов

  • Автор темы miherlosev
  • Дата начала
M

miherlosev

#1
Есть главное приложение. Есть плагины. Плагин - dll, в которой зашит некоторый класс, реализующий интерфейс IPlugin.
Гланое приложение грузит плагины следующим образом
1)Смотрит все dll в файле с плагинами
2)Грузит их
3)Вынимает все типы из сборки и если тип(класс) поддерживает интерфейс IPlugin создает экземпляр этого типа - это и будет экземпляр плагина.

Как сделать следующие вещи:
1)Мне нужно, чтобы плагины "узнали" о том что произошло какое-то событие в хостовом приложении
2)Список событий на которое подписывается плагин можно было более-менне легко настраивать.

Я использую .NET.
 
E
#2
Вынимает все типы из сборки
Нафига? есть же атрибуты асэмблаевские.
Мне нужно, чтобы плагины "узнали" о том что произошло какое-то событие в хостовом приложении
Для этого надо делать систему оповещения.
Список событий на которое подписывается плагин можно было более-менне легко настраивать.
Вот тут непонятно. Что такое "легко настраивать"?
 
M

miherlosev

#3
1)Мой вариант кажется мне предпочтительней( вынимам все типы из сборки и т.д.), т.к. в одной ассембле может быть несколько плагинов
2)"Делать систему оповещения" - опишите пожалуйста принцип ее работы (или можно ссылочку)
3)Легко настраивать - каждый плагин сам подписывается на те события которые ему нужны
 
E
#4
1 - отделять мух от котлет в первую очередь, т.е. если длл не содержит атрибут, то циклить по типам нет смысла, ну да хозяин барин.
2 - дык простые ивенты, вот вам и система оповещения, не на виндовых же событиях раскручивать ...
3 - эээ, я то думал ... см 2.
 
M

miherlosev

#5
Спасибо за информацию, сделал.
Применил паттерн программирования ObServer