函數語言程式設計 VS 物件導向程式設計
1.物件導向程式設計透過封裝不確定因素來使程式碼能被人理解;函數語言程式設計透過儘量減少不確定因素來使程式碼能被人理解。
2.封裝、作用域、可見性等OOP機制的存在意義,都是為了精細控制誰能夠感知和改變狀態,而當涉及多執行緒的時候,對狀態的控制就更復雜了,這些機制就是所謂的“不確定因素”。函數語言程式設計的思想是與其建立種種機制來控制可變的狀態,不如儘可能消滅可變的狀態這個不確定因素,依據是:假如語言不對外暴露那麼多有出錯可能的特性,那麼開發者就不那麼容易犯錯。
3.OOP的世界提倡開發者針對具體問題建立專門的資料結構,相關的專門操作以“方法”的形式附加在資料結構上。函數語言程式設計語言實現重用的思路是提倡在有限的幾種關鍵資料結構(如list、set、map)上運用針對這些資料結構高度最佳化過的操作,以此構成基本的運轉機構,開發者再根據具體用途,插入自己的資料結構和高階函式去調整機構的運轉方式。
2.封裝、作用域、可見性等OOP機制的存在意義,都是為了精細控制誰能夠感知和改變狀態,而當涉及多執行緒的時候,對狀態的控制就更復雜了,這些機制就是所謂的“不確定因素”。函數語言程式設計的思想是與其建立種種機制來控制可變的狀態,不如儘可能消滅可變的狀態這個不確定因素,依據是:假如語言不對外暴露那麼多有出錯可能的特性,那麼開發者就不那麼容易犯錯。
3.OOP的世界提倡開發者針對具體問題建立專門的資料結構,相關的專門操作以“方法”的形式附加在資料結構上。函數語言程式設計語言實現重用的思路是提倡在有限的幾種關鍵資料結構(如list、set、map)上運用針對這些資料結構高度最佳化過的操作,以此構成基本的運轉機構,開發者再根據具體用途,插入自己的資料結構和高階函式去調整機構的運轉方式。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/6906/viewspace-2122843/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 物件導向 vs. 函數語言程式設計物件函數程式設計
- 物件導向變成 VS 函數語言程式設計物件函數程式設計
- 函數語言程式設計 vs 物件導向程式設計 vs 程式式程式設計的JS演示比較 - DEV函數程式設計物件JSdev
- Facebook 開源 Skip 物件導向+函數語言程式設計語言物件函數程式設計
- Reactor事件驅動的兩種設計實現:物件導向 VS 函數語言程式設計React事件物件函數程式設計
- 為什麼說物件導向程式設計和函數語言程式設計都有問題物件程式設計函數
- 物件導向的程式設計和函數語言程式設計基本相同的證據 - vavr物件程式設計函數VR
- 物件導向程式設計-java語言 第二週程式設計題物件程式設計Java
- 物件-函數語言程式設計簡史物件函數程式設計
- JavaScript 函數語言程式設計導論JavaScript函數程式設計
- 程式程式碼進化的一些思考:從物件導向到設計模式,到函數語言程式設計物件設計模式函數程式設計
- OOC 物件導向 C 語言程式設計實踐物件程式設計
- 函數語言程式設計函數程式設計
- 物件導向程式設計物件程式設計
- Scala 函數語言程式設計(一) 什麼是函數語言程式設計?函數程式設計
- .NET併發程式設計-函數語言程式設計程式設計函數
- 函數語言程式設計-鏈式程式設計RAC函數程式設計
- [.net 物件導向程式設計基礎] (2) 關於物件導向程式設計物件程式設計
- 開放出版:許式偉《Go語言程式設計》樣章“物件導向程式設計”Go程式設計物件
- 函數語言程式設計,真香函數程式設計
- Java 函數語言程式設計Java函數程式設計
- javascript函數語言程式設計JavaScript函數程式設計
- 初探函數語言程式設計函數程式設計
- 函數語言程式設計初探函數程式設計
- JavaScript 函數語言程式設計JavaScript函數程式設計
- 十三、物件導向程式設計物件程式設計
- js物件導向程式設計JS物件程式設計
- 程式設計思想 物件導向程式設計物件
- 十六、物件導向程式設計物件程式設計
- perl 物件導向程式設計物件程式設計
- LotusScript物件導向程式設計物件程式設計
- Javascript 物件導向程式設計JavaScript物件程式設計
- 物件導向程式設計風格 VS 基於物件程式設計風格(boost::bind/function)物件程式設計Function
- iOS鏈式程式設計及函數語言程式設計iOS程式設計函數
- JavaScript建構函式,物件導向程式設計JavaScript函式物件程式設計
- 物件導向程式設計和`GP`泛型程式設計物件程式設計泛型
- 聊聊 Go 語言中的物件導向程式設計Go物件程式設計
- JavaScript設計模式之物件導向程式設計JavaScript設計模式物件程式設計