函數語言程式設計 VS 物件導向程式設計

husthxd發表於2016-08-02
1.物件導向程式設計透過封裝不確定因素來使程式碼能被人理解;函數語言程式設計透過儘量減少不確定因素來使程式碼能被人理解。
2.封裝、作用域、可見性等OOP機制的存在意義,都是為了精細控制誰能夠感知和改變狀態,而當涉及多執行緒的時候,對狀態的控制就更復雜了,這些機制就是所謂的“不確定因素”。函數語言程式設計的思想是與其建立種種機制來控制可變的狀態,不如儘可能消滅可變的狀態這個不確定因素,依據是:假如語言不對外暴露那麼多有出錯可能的特性,那麼開發者就不那麼容易犯錯。
3.OOP的世界提倡開發者針對具體問題建立專門的資料結構,相關的專門操作以“方法”的形式附加在資料結構上。函數語言程式設計語言實現重用的思路是提倡在有限的幾種關鍵資料結構(如list、set、map)上運用針對這些資料結構高度最佳化過的操作,以此構成基本的運轉機構,開發者再根據具體用途,插入自己的資料結構和高階函式去調整機構的運轉方式。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/6906/viewspace-2122843/,如需轉載,請註明出處,否則將追究法律責任。

相關文章