我有一个关于这个场景的设计问题: 假设你有一个表格,许多网站需要填写,我们给每个站点打一个插件。 在其他类我创建了一个PluginManager
类,它的所有插件的证据,并提供了一些功能和特性:C#类的通信设计问题
class PluginManager
{
...
BasePlugin CurrentPlugin {get;set;}
IEnumerable<BasePlugin> OpenedPlugins {}
bool SetPlugin() {..}
...
}
class BasePlugin {}
class MyPlugin : BasePlugin {}
在其他变薄,它处理显示所选择的插件/网站。
到现在为止,我从来不需要在2个或多个插件之间进行通信。现在我做了,我想问你,你会怎么做。
我的意见是,EN Event
添加到BasePlugin
类和PluginsManager
类处理它,在某些方面,该插件提高Event
将在EventArgs
的类型应该影响到所有其他插件和列表提供指向应该执行的方法的delegates
。
你有什么想法吗?谢谢 !
什么样的沟通?一个简单的方法调用,复杂的消息传递等? – 2010-07-27 08:30:46
让我们来说一个简单的方法调用! – 2010-07-27 08:32:22