У меня есть вопросы дизайна по этому сценарию:
Предположим, у вас есть форма с множеством сайтов, которые нужно заполнить , давайте назовем каждый сайт плагином.
Среди других классов я создал класс PluginManager
, который использует все плагины и предоставляет некоторые функции и свойства:
class PluginManager
{
...
BasePlugin CurrentPlugin {get;set;}
IEnumerable<BasePlugin> OpenedPlugins {}
bool SetPlugin() {..}
...
}
class BasePlugin {}
class MyPlugin : BasePlugin {}
Помимо прочего, он обрабатывает отображение выбранного плагина / сайта .
До сих пор мне никогда не нужно было общаться между 2 или более плагинами. Теперь я делаю, и я хотел спросить вас, как бы вы это сделали.
Мое мнение состояло в том, чтобы добавить en Event
к классу BasePlugin
и обработать его в классе PluginsManager
, каким-то образом, что Плагин, поднимающий Event
, обеспечит в EventArgs
типы всех другие плагины, которые должны быть затронуты, и список delegates
, указывающий на методы, которые должны быть выполнены.
Есть идеи? Спасибо!