簡體   English   中英

Winforms或WPF MVC

[英]Winforms or WPF MVC

所有,

據我所知,ASP.NET MVC是實現我微軟發布的MVC模式的框架。 我想知道為什么沒有Winforms或WPF MVC實現? 我問的原因是我計划開始一個新的大型WinForms項目,理想情況下我們正在尋找一種框架來實現某種通用模式,以提高我們解決方案的可測試性。

謝謝,MK

對於WPF, MVVM模式在框架本身中根深蒂固,以至於在有人向您指出之前您並沒有真正看到它。 你真的不需要一個單獨的框架(盡管某些類型,比如Josh Smith的RelayCommand,在BCL中會很好)。

Windows Forms不再適用於任何地方,這就是為什么你沒有看到任何新的或蓬勃發展的MVC風格的框架。 但是,模式和實踐的復合應用程序塊 (CAB)是這種框架的嘗試。

大多數人發現CAB太復雜了,但我個人覺得它很有價值,即使它可以更簡單易用。 它仍然存在,並以源代碼格式提供,因此您可能需要查看它。

但是,如果可能的話,請將您的應用程序實現為WPF應用程序。

如果您想使用WPF,您應該考慮使用MVVM模式(Model View View-Model)。

您可以為Visual Studio下載一個模板。 它是我認為的WPF工具包的一部分。 查看CodePlex.com。

希望這可以幫助!

這里這里有一些類似的SO問題。

僅僅因為webforms / wpf中沒有嚴格的MVC框架並不意味着你不能以MVC的方式遵循原則和代碼。 我認為WPF的MVVM類似,盡管我沒有這方面的經驗。

WinForms已經死了。 你最好看看WPF + MVVM(+ Prism)

這里有一個很好的問題:為什么沒有WPF的MVC等效框架? 我花了6年時間在WPF平台上才發現:

  1. 自首次發布以來,WPF工具包沒有進一步發展。
  2. 在WPF中托管Web瀏覽器仍然存在重大的空域問題。
  3. 圖表從未完全移植到WPF。
  4. 從未為VS2013提供新項目的WPF MVVM模板。
  5. 棱鏡令人困惑。
  6. 學習曲線陡峭。
  7. 開放社區幾乎沒有開發任何開放的庫。 像Javascript人一樣。
  8. 將其作為瀏覽器內應用程序運行。 很難做對。
  9. 與Web-Client渲染相比,它顯然很慢。
  10. 也許最糟糕的是微軟對我們保持沉默。 直到最近才宣布他們回到游戲中,但如果你看看他們的計划,它看起來更像是日落版,而不是回到游戲中。

    我的解決方案是將WPF轉移到我已經完成的MVC上。 MVC有它的怪癖,但它比一個非常適合使用“接力命令”的一個無意義的框架更好的平台。

想象一下你的老板說,嘿,我們需要在網絡瀏覽器中和你的回復“它明天就准備好了”......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM