佈局 | 標題 | 永久連結 | 描述 | 日期 | 標籤 |
---|---|---|---|---|---|
郵政 | MvvmForms 自述文件 | 新頁面.html | Mvvm 表單自述文件 | 2015-05-17 16:31:30-0700 | MVVM; Windows 窗體 |
歡迎來到 ActiveDevelop 的 MvvmForms 庫專案。 MvvmForm 的目的是為 Windows 窗體 Visual Basic 和 CSharp 專案和解決方案提供 XAML ViewModel 相容支持,包括成熟的 WinForms 設計器支援。 MvvmForms 是開源 (GPL),但具有雙重授權。有關 MvvmForms 許可的更多信息,請閱讀下面的許可部分。
如果您的新專案有一個乾淨的開始,並且您的開發團隊能夠勝任這項任務,那麼您很可能不需要 MvvmForms。但這種情況並不常見。在大多數情況下,在 1996 年至 2010 年間,已經為 Windows 平台編寫了數億行程式碼,並且通常使用 CSharp 和 Visual Basic .NET for Windows Forms,甚至使用 Visual Basic 6。開始。到底是為了什麼?您的解決方案有效、穩定且經過測試。那麼,為什麼不繼續使用它呢?
如果您想改變您的開發模式,MvvmForms 非常適合您。如果您想擺脫程式碼隱藏並引入關注點分離的良好架構。如果您想基於允許單元測試的架構進行建置。如果您想透過部分重構來從現有軟體建立多層架構,您可以將軟體的大部分重用於不同的 UI,例如 Windows 通用應用程式、iOS 應用程式或 Android 應用程式。
我們公司位於德國威斯特法倫州,專門從事從典型的 Windows 窗體程式碼隱藏範例到現代體系結構的遷移。我們幫助以可行的方式做到這一點。我們知道,您的團隊既沒有時間也沒有預算從頭開始,這就是我們開發 MvvmForms 的原因:幫助我們的客戶在不危及專案的情況下進入軟體開發的新世界。
MvvmForms 是 Windows 窗體控制項的集合。最初,它的設計目的是加快資料量大的表單的開發過程,並解決資料庫後端的需求及其典型場景,例如 DBNull 的零努力處理、表單的髒狀態處理、焦點突出顯示、處理數位資料輸入字段中的公式、多執行緒/多列查找彈出視窗(最多可容納100.000 個項目)等等。 2012 年中期的某個時候,一些德國公司找到我們,希望找到一種方法來保留他們現有的Windows 窗體設計,但他們希望能夠將Mvvm 模式應用於他們的LOB 應用程式的一部分,這樣他們就可以在移動應用程式和其他目的。這就是 MvvmForms 的開始,我們根據現有的工具集開發了它。這種方法效果非常好,因此我們繼續採用這種方法,並為 Mvvm 元件添加了豐富的設計器功能。
由於這段歷史,MvvmForms 實際上滿足了兩個 Windows 窗體要求。第一個是透過提供 NullableDateValue、NullableNumValue、NullableTextValue 等控制項、表單中的 DirtyState 處理控制項等來簡化資料密集型表單的設計。
第二個是為 Mvvm 啟用 Windows 窗體。為此,您不需要使用 MvvmForms 提供的控制項之一,您只需要一個元件:MvvmManager 元件。基本上,只需將該元件拖曳到表單中,將其 DataContextType 屬性設為要綁定的 ViewModel 類型,該表單上的每個控制項都會獲得一個 PropertyBindings 屬性,該屬性允許您綁定相應的 ViewModel 屬性。您只需要在執行時間設定 MvvmManager 元件的 DataContext 屬性。您將找到一個簡短的入門指南,請閱讀 wiki - 連結位於右側。
最重要的是:看看 youtube 上的這個介紹視頻,它不僅介紹了 MvvmForms,還介紹了 MVVM。
https://www.youtube.com/watch?v=1R_81Np5New
哦是的!我們的 ActiveDevelop 團隊每天都會處理 MvvmForms,因為德國的幾個大型專案都依賴 MvvmForms - 有些專案的程式碼超過 100 萬行。由於我們是一家德國公司,並且我們已經開始將 MvvmForms 本地化為英語,因此原始程式碼中仍然有很多德語註釋和 XML-Docu-Tags - 但我們正在努力。但是,MvvmForms 已經可以使用了,它穩定、可靠、經過徹底測試,如果您需要特殊支援或想要緊急開始使用它,並且需要我們自訂、本地化或擴展其功能,那麼只需與我們聯繫即可,所以我們可以找到一種方法來實現這一點。
是的,沒有任何限制。我們目前的專案有三分之一是在 CSharp 中進行的,其餘的專案是在 VB 中完成的,部分 MvvmForms(例如 Mvvm 基礎庫)也在 CSharp 中。其他部分用VB寫。因此,只要您使用 Windows 窗體,就可以繼續使用 - 語言並不重要,
是的,對於開源專案。對於正規的商業項目來說,它不是完全免費的,但幾乎和免費一樣好。我們的主要目標是尋找新的機會來幫助我們在設計LOB 應用程式方面擁有25 多年的專業知識,特別是向我們的客戶展示一種將他們的軟體從大型、單一的Win32 軟體遷移到無風險的現代方法的方法,他們可以繼續使用雲端運算、Windows 10、行動應用程式等,而無需從頭開始重做所有事情。
因此,如果您希望我們透過舉辦研討會、幫助設計新架構、尋找可行的遷移概念、向您的團隊介紹 Scrum 或在有限時間內提供人力資源來幫助您處理現有應用程序,在現代化過程中,我們帶來了MvvmForms。那麼它對您來說是免費的,因為您是我們的客戶。繼續使用它:如果您曾經或曾經是我們的客戶,您就獲得了任何商業用途的隱式許可。但是,如果您不需要我們,但想要工具集,請與我們聯繫,我們會為您找出最佳支援模型:[email protected]。
如果您正在 GPL 下維護一個開源項目,並且您想要使用它。繼續:分叉它,更改它,修改它,然後將其與您的開源應用程式一起出售。這就是開源!只要連結到它的應用程式或使用從 MvvmForms 派生的類別也是 GPL - 那完全沒問題。但是,如果您正在管理專有的閉源解決方案,並且想要使用(連結到、派生自)MvvmForms,則必須為每個活躍開發人員取得一份授權。
是的。只需建立拉取請求。