• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

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

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

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы 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
 
Мы в соцсетях:

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