隨着時間的推移,我一直在爲我所有的Windows應用程序使用事件驅動編程。即處理選擇的索引改變/文本改變等。事件。但最近我一直在使用INotifyPropertyChanged接口和ObservableCollection類來處理數據更改。
隨着涉及的應用程序/屬性的增長,您是否會發現長期使用此方法可能面臨的任何可能的問題?數據驅動的編程/事件驅動編程
2
A
回答
5
數據驅動和事件驅動範例不一定是相互排斥的。即使在使用MVVM風格模式時,仍然存在一個由用戶驅動的UI,因此您必須考慮事件。但是使用諸如MVC和現在的MVVM概念這樣的想法,你將很多邏輯從UI中分離出來,這應該會導致更好的可維護性,可測試性等。隨着應用程序的增長而不是更多,更好/更大的解耦將導致更少的問題。所以,國際海事組織,你在正確的軌道上。
Requisite Wikipedia article.這是一個有趣的閱讀,雖然你不會看到INotify ...和ObservableColl ...提到,因爲這些都是技術特定的。還有一個有趣的批評部分,你可能想看看。但是不要讓這一部分超過其他考慮因素。
1
它們是一樣的東西,除了源和方向不同。
正如你所描述的那樣:
- 事件驅動可以讓你基於用戶交互更新數據
- 數據驅動的,您可以根據數據變化更新用戶
請考慮INotifyPropertyChanged強制實施PropertyChanged事件。他們是一樣的,並且可以一起工作。
相關問題
- 1. 數據驅動編程書?
- 2. 協程VS事件驅動編程
- 3. 域驅動的編程和事件
- 4. 事件驅動的編程 - node.js,Java
- 5. 什麼是事件驅動的編程?
- 6. PL/SQL中的事件驅動編程
- 7. 事件驅動架構/編程
- 8. Java和事件驅動編程
- 9. 編譯驅動程序
- 10. C++成員函數指針或事件驅動編程
- 11. 函數式編程+域驅動設計
- 12. 學習編程Windows驅動程序
- 13. 驅動程序編程幫助
- 14. Win32事件驅動的編程是如何實現的?
- 15. 事件驅動編程是如何實現的?
- 16. 事件驅動的編程:回調與消息輪詢
- 17. 在Clojure/ClojureScript中處理事件驅動的編程
- 18. 關於事件驅動編程的好材料
- 19. Java事件驅動編程下的什麼?
- 20. 事件驅動編程是如何完成的?
- 21. 以編程方式爲MySQL數據庫安裝驅動程序
- 22. 執行上下文驅動的編程
- 23. 使用.NET編程的USB驅動器
- 24. 如何在C#.NET中進行事件驅動編程?
- 25. 使用weblogic MDB進行事件驅動編程
- 26. 如何在事件驅動編程中找到執行結束
- 27. 數據驅動vs事件驅動模型/架構?
- 28. Java菜單驅動編程和循環
- 29. 設備驅動程序代碼編譯?
- 30. 編寫鍵盤設備驅動程序
同一枚硬幣的兩面。 – WernerCD 2010-10-08 20:13:23