我現在正在學習函數式編程概念,而且專業上我是一名Asp.net開發人員。但是asp.net讓你在代碼後面經常更改對象的屬性。函數式編程基於不可變對象。並且應用這個概念來改變文本框的值將是非常痛苦的。此外,在一些事件處理程序中,像FormView的ItemInserted參數可供開發人員使用,如開發人員可以更改爲true/false的KeepInInsertMode,在這種情況下,我們正在修改針對FP的輸入參數。 你的想法是。 哪個是在軟件世界中處理UI的正確方式? FP或OOPS。基於功能性編程的用戶界面
5
A
回答
2
你問「正確」的方式,但這是一個工程問題,而不是數學問題。有一些權衡,一些形式的味道起作用,並且不可能有一種適合所有完美解決方案的單一尺寸。
另外,只是因爲asp.net以某種方式做了某些事情,這是否意味着OO框架已經做出了相同的設計決策。看看Ruby on Rails,或Smalltalk Seaside網頁框架的一個不同的,但仍然面向對象的方法。例如,即使ASP.net MVC採取了與vanilla ASP.net不同的方法。
用於UI處理的FP框架也是如此,另外需要注意的是,它們目前似乎更具實驗性 - 即我不認爲所有的設計選項都被用作面向對象框架的探索。如果你想看一看,我建議看看functional reactive programming(主要用於交互式動畫),Links(學術 - 與LINQ有共同點)或LiveLab's reactive framework - 每個都強調問題的不同方面。
這裏有很多東西要學,最重要的可能就是沒有簡單的答案...
2
使用功能範例會導致以另一種方式進行思考:您不會懷疑「單擊此按鈕時會發生什麼」,而是:按下按鈕後,我的應用程序的新狀態是什麼。
「新狀態」將被軟件的表示層用於執行一些GUI工作。
這將導致「狀態 - >事件 - >狀態」函數,這可能比OO「告訴,不要問」範例更加可預測。
但它也可能更詳細。
相關問題
- 1. WPF動畫/用戶界面功能性能和基準測試
- 2. 基於文本的用戶界面
- 3. jQuery的用戶界面功能問題
- 4. 用戶界面選擇是功能性還是非功能性需求?
- 5. 爲Lion的用戶界面恢復功能編碼NSViewController
- 6. 用戶界面功能建模語言?
- 7. jQuery Slider用戶界面 - 增強功能
- 8. 基於Android Tile的應用程序用戶界面
- 9. 基於msi安裝程序的基於用戶界面的燒烤
- 10. 什麼動畫/功能用於陣容(用戶界面)?
- 11. 在基於eclipse的應用程序中創建用戶界面智能
- 12. Scala的功能界面性狀
- 13. IOS-基於代碼的界面到基於Storyboard的界面
- 14. GCD =更好的性能不關於用戶界面?
- 15. IBM Worklight:用戶界面性能
- 16. 用戶界面性能監控工具
- 17. 功能性編程
- 18. 遊戲編程 - 圖形用戶界面
- 19. 編程用戶界面建議?
- 20. F#功能界面
- 21. 無界面功能
- 22. 用戶界面用於WP7
- 23. 功能性編程功能混淆
- 24. Android應用程序用戶界面選項卡...此用戶界面可能嗎?
- 25. 基於WebKit的3D應用中的用戶界面
- 26. CSS編輯器/圖形用戶界面/應用與都挺不錯的功能
- 27. jQuery的:在用戶界面對話框禁用點擊功能
- 28. 基於MFC的用戶界面的自動化測試
- 29. 性能測試基於Windows /桌面的應用程序
- 30. 「流利」用戶界面功能區控件可以與新的「用於WPF的Microsoft功能區」共存嗎?