• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

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

miherlosev

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

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

Я использую .NET.
 
E

etc

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

miherlosev

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

etc

1 - отделять мух от котлет в первую очередь, т.е. если длл не содержит атрибут, то циклить по типам нет смысла, ну да хозяин барин.
2 - дык простые ивенты, вот вам и система оповещения, не на виндовых же событиях раскручивать ...
3 - эээ, я то думал ... см 2.
 
M

miherlosev

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!