我有一個插件需要訪問某些信息才能正確填充其GUI元素。但是,這個插件不應該知道所有其他插件,所以我希望它從應用程序請求這些信息。使用接口與MVVM light Messenger進行數據請求
在這樣的情況下,我總是創建一個數據交換接口,然後將這個接口傳遞給插件,以便他們可以在需要時請求數據。不過,我最近開始使用MVVM light toolkit,因爲它有一些很棒的功能,如RelayCommand
和Messenger
。在這種情況下,我完全可以看到使用Messenger - 插件不需要該界面,因爲他們可以簡單地使用Messenger.Default.Send<MyDataRequestMessage>(...)
。只要他們註冊接收處理程序,這一切都很好...或者它是什麼?
您會喜歡哪種方法,爲什麼?
我目前已經在使用MEF +數據接口。我也喜歡Messenger,因爲它使事情變得簡單,但我只是不夠熟悉,無法立即知道所有潛在的警告。 – Dave 2010-09-07 15:36:52
我不知道任何,我已經在兩個中型項目中使用它,我對結果感到滿意。此外,如果您發現任何缺陷,修改代碼以修復或解決它們很容易:P – 2010-09-08 06:50:47