函數式編程思惟學習 (1)

1.  語言的演進java

     函數式編程 與 面向對象 編程 對於代碼的重用方式是不一樣的,面向對象喜歡建立有不少操做的各類數據結構,函數式變成的數據結構卻不多。編程

    函數式編程 重用表如今 函數的通用性上,面向對象鼓勵針對類建立方法,從類的關係中 發現重複出現的模式,並加以複用。數據結構

 

     100 個 函數操做一種數據結構的組合,要好過10個函數操做10中數據結構。編程語言

   函數式編程: 少許的數據結構對應大量的 操做。函數式編程

2.   scala 從 設計上就支持 運算符重載,考慮到了可塑性。函數

3. 函數式的數據結構scala

   java 中習慣使用異常來處理錯誤,語言自己也提供了異常的建立和傳播機制,而不少函數式編程語言並無一場處理機制。  設計

  函數式變成傾向於使用沒有反作用的純函數,而異常違背了這一前提。拋出異常的行爲自己就是一種反作用。對象

  函數式語言以操做值爲其根本,它提供的解決方案是直接在返回值中代表錯誤,並作出響應。it

   scala 中 提供了 Either 類。(左值 右值)

   Either 類 設計規定了 其要麼持有左值,要麼持有右值。絕對不會兩邊都有。  錯誤處理是Either 類的主要用途。

    而除了Either 外,還有一種Option 類,用來表示異常處理中較爲簡單的場景,它的值 要麼是none,要麼是some,表示成功返回。

相關文章
相關標籤/搜索