使用.NET WPF設計GUI應用程序分離GUI與Data模型是否是一個好主意,但所有保存&處理的數據都發生在BPL庫(用Delphi編寫)中?UI設計的最佳做法是什麼?
0
A
回答
3
不,這不是個好主意。
層間分離是一個合乎邏輯的問題,主要通過命名空間進行管理。如果你採用一個精心構建的WPF應用程序,那麼你有很多這樣的應用程序。 View
,ViewModel
,Model
,Command
和Convertors
應該可能出現在每個非平凡的應用程序中,並且因爲它們都是應用程序運行所需的,所以不需要將它們分開。
然後物理分離成不同的組件就只是一個包裝的考慮因素。如果你有多個應用程序,並且你認爲你可以重新使用一些代碼,那麼它將被拉到不同的物理組件中,但是單獨設計它是過度設計的。
考慮一個具有單元測試套件的應用程序。現在你有兩種方法來運行代碼。您可以像用戶那樣運行應用程序,或者您可以運行測試運行器並讓測試按設計運行您的代碼。這裏我們至少有兩個組件。當您使用應用程序時,測試代碼不是必需的,因此它可以分開。但是,應用程序本身不需要僅僅是一個單獨的程序集,所以很好的做法是讓自己省下努力。
現在我將介紹這個部分,我從來沒有試圖鏈接C#和德爾福,但它只是增加了你將面臨的複雜性。你需要要用這個嗎?它會讓事情變得更復雜嗎?
你問什麼是好的做法,我不得不說寫一個WPF應用程序,就像你可以基於其他人從這個過程中學到的教訓一樣。爲此,請閱讀MVVM,並使用其中一個基本庫來提供幫助,例如Caliburn.Micro,ReactiveUI或MVVMLight
相關問題
- 1. 設計android UI的最佳做法是什麼?
- 2. 最佳做法是什麼?
- 3. 設計SOA WCF Web服務時的最佳做法是什麼?
- 4. 編寫詳細設計文檔的最佳做法是什麼?
- 5. log4cxx的最佳做法是什麼?
- 6. 什麼是ViewModel的最佳做法
- 7. 軟件UI設計的最佳實踐是什麼?
- 8. 設計方法的錯誤代碼的最佳做法是什麼?
- 9. Nginx和runit ....什麼是最佳做法
- 10. WCF休息 - 最佳做法是什麼?
- 11. ASP.NET緩存,什麼是最佳做法
- 12. 在angularjs中編寫控制器方法設計的最佳做法是什麼?
- 13. 在java中每個鍵的計數最佳做法是什麼
- 14. 存儲分析統計數據的最佳做法是什麼?
- 15. 編程數學計算的最佳做法是什麼?
- 16. 設置<table>大小的最佳做法是什麼?
- 17. DART:配置設置的最佳做法是什麼
- 18. 在IIS中設置maxAllowedContentLength時的最佳做法是什麼?
- 19. 什麼是建設選擇清單的最佳做法
- 20. 爲敏捷開發設置TFS的最佳做法是什麼?
- 21. 會員網站的網頁設計最佳做法是什麼? blah.com/username?
- 22. 在軌道中設計限制區域時的最佳做法是什麼?
- 23. 緩存的最佳做法是什麼?有什麼限制?
- 24. 什麼是設計UDP服務器的最佳方法?
- 25. 使用jquery/javascript做下面的最佳做法是什麼?
- 26. 什麼是激動人心的ASP.Net Web UI項目的最佳做法?
- 27. Angular&SEO - 最新的最佳做法是什麼?
- 28. 數據庫設計:設計論壇表的最佳做法
- 29. 什麼是更新計時器UI的最佳方式
- 30. 在tornadofx中創建自定義UI組件的最佳做法是什麼?
「等級分離是一個合乎邏輯的問題」:否!等級分離是一個物理問題。所以我們可以在不同的硬件上運行不同的軟件。現在,我同意答案:如果沒有真正需要使用delphi,只是嘗試使用C#來完成所有工作。 – Kek
非常感謝@AISki,我明白,但是我對分離它們的擔心是重用現有的庫,並且最重要的是,保護來自託管世界的業務流程 –
@Kek,我同意在不同的時間運行不同的部分,但這是驅動程序。如果沒有這種需要,我認爲不這樣做。從一個裝配開始,按邏輯分開,只根據需要進行物理分離。 – AlSki