我有一個關於這個場景的設計問題: 假設你有一個表格,許多網站需要填寫,我們給每個站點打一個插件。 在其他類我創建了一個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