iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 29
0
Modern Web

最好用的非同步網頁框架!開始用 Ktor 寫 Kotlin Server系列 第 29

[Day 29] Functional Programming 還有沒有 SOLID 原則?

  • 分享至 

  • xImage
  •  

有的工程師在工作時,有聽過物件導向的 SOLID 原則。

今天我們來談談,Functional Programming 還要不要遵守 SOLID 原則?

什麼是 SOLID 原則

如上面所說,SOLID 原則是物件導向開發的一系列原則,分別是:

  • 單一功能
  • 開閉原則
  • 里氏替換
  • 介面隔離
  • 依賴反轉

我們來看看這些原則在 Functional Programming 的世界裡面怎麼出現

單一功能

物件導向的世界裡面,我們希望一個系統,比方說類別,最好只有一個改變的理由。也就是說,要是有某個功能要調整,我們總是知道要改哪個系統,而且不會影響其他功能。

Functional Programming 的世界裡面,我們也要這麼做:每個函式的功能只有一個,修改單一函式不會把其他功能改壞。

開閉原則

透過函式的合成,我們可以以替換函式的方式調整功能,讓系統對擴充開放,但是對修改封閉。

里氏替換

里氏替換是針對類別繼承的規則。這裡我們沒有繼承,所以不考慮里氏替換。

介面隔離

這裡我們沒有介面,函式本身就是我們的介面。

依賴反轉

透過將函式以參數傳入的方式,我們可以達成另一種方式的依賴反轉:依賴參數函式而不依賴內部實作。


上一篇
[Day 28] 討論 Functional Programming 的合成
下一篇
[Day 30] 終於到最後一天啦!來看看我們都學了什麼
系列文
最好用的非同步網頁框架!開始用 Ktor 寫 Kotlin Server30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言