2012-01-27 60 views
2

我想創建一個非線程對象的非UI對象模型。如果我在WindowsBase程序集中繼承Windows.Threading.DispatcherObject,那麼我可以利用很多優秀的代碼。不過,我有點猶豫,因爲它感覺就像我把我的圖書館耦合到WPF。但WindowsBase 真的是 WPF的一部分嗎?非UI線程上的DispatcherObject

我已經推出了我自己的Dispatcher和DispatcherObject實現。這是一個很好的學習經歷,相對簡單,而且似乎運作良好。但是,如果其他人最終繼承或使用此代碼,他們將不得不熟悉它。如果我使用WindowsBase的代碼,我可以將它們引用到MSDN。

所以我正在尋找建議。你會建議從DispatcherObject繼承,還是你認爲它不好? DispatcherObject是否打算在WPF之外使用?

回答

0

不,你沒有將它耦合到WPF。

我認爲它的位置與ObservableCollection類似(儘管ObservableCollection在System.dll中) - 它最自然的棲息地是WPF,但在WPF之外不難想到使用它。

順便說一句,你甚至沒有將它耦合到Microsoft CLR。調度員seems to be implemented in Mono也不像WPF的其他成員 - Mono的作者已經指出WPF is not even planned to be supported

我也覺得有點奇怪,你提到DispatcherObject而不是Dispatcher。你在某種程度上使用DispatcherObject而不使用Dispatcher?