Windows窗體Simart客戶端現在是遺留物嗎?它是否被Prism(和/或MVVM)所取代?我應該費心學習智能客戶端嗎?智能客戶端Winform vs MVVM +棱鏡
另一個可能與之相關的問題是Winforms和WPF之間的性能差異,除了數據綁定和3D之類的wpf中的所有酷炫功能外,還有哪些不同? WPF是否努力在Windows 2000和Pre2000操作系統上運行?這個問題很重要,因爲當你需要支持舊的操作系統(例如NHS)時,它可以決定你要使用winform還是WPF的平臺?
Windows窗體Simart客戶端現在是遺留物嗎?它是否被Prism(和/或MVVM)所取代?我應該費心學習智能客戶端嗎?智能客戶端Winform vs MVVM +棱鏡
另一個可能與之相關的問題是Winforms和WPF之間的性能差異,除了數據綁定和3D之類的wpf中的所有酷炫功能外,還有哪些不同? WPF是否努力在Windows 2000和Pre2000操作系統上運行?這個問題很重要,因爲當你需要支持舊的操作系統(例如NHS)時,它可以決定你要使用winform還是WPF的平臺?
在與智能客戶端軟件工廠和WPF + MVVM合作過後,我肯定會考慮SCSF「遺留」。我不會在一個新項目中使用它。首先,它基於WinForms,但更重要的是,它可能是一個臃腫的框架。這很麻煩,不適合單元測試。我發現,在開發一個應用程序5年多的時間裏,這個框架太「經常」了。
我不能和棱鏡說話,但是在我與SCSF的經驗之後,我會迴避任何開箱即用的框架。當我開始使用WPF和MVVM時,我編寫了自己的「框架」位。真的,我發現我需要的只有一個好的IoC容器(StructureMap是我的選擇)和一個EventAggregator(我自己寫的兩個接口和一個類實現,直接從Jeremy Miller博客上的帖子中借用)。除此之外,我選擇了直接的WPF和MVVM開發模式。
給定一個greenfield桌面應用程序,我的選擇將是WPF,MVVM & STructureMap。
我認爲你的第一個問題幾乎歸結爲WPF versus Winforms,這已被回答。
但是,關於在Win2000及更早版本中有關WPF的第二個問題,WPF是.NET 3.0的一部分,您至少需要XP SP2或Win2003 Server for .NET 3.0,因爲可以看到here,所以如果您想要在XP之前的環境中使用.NET,你必須堅持使用WinForms。
無法與您一致同意! (根據我以前在SCSF的經驗和與PRISM的合作)。可能在將來,當我接到電話時,我希望我會採取類似的立場! – ioWint 2011-08-17 21:09:19
您的意思是這篇文章[如何使用事件聚合器模式在講故事者](http://codebetter.com/jeremymiller/2009/07/24/how-im-using-the-事件聚合器圖案在-說書/)? – surfmuggle 2013-06-07 21:40:01
是的,那是文章。我結束了寫我自己的事件聚合器。這比Jeremy的要簡單一些,但是模式和實現是一樣的。如果您不得不使用WPF或WinForms,並且您需要應用程序的不同部分才能將消息傳遞給對方,那麼這是一種很好的模式。 – 2013-06-08 16:33:38