有時候在開發的時候,會聽到有些人說SOLID原則可以有助於提升後續維護與擴充,那麼以下就來帶大家一起了解吧。

認識SOLID原則

SOLID分別代表五個專有名詞,以下先大概簡單介紹一下。
在介紹之前,如果你已經對SOLID有初步的了解,可以直接到以下的範例查看:
📌 S 前端開發的SOLID - 單一職責原則
📌 O 前端開發的SOLID - 開關原則
📌 L 前端開發的SOLID - Liskov替換原則
📌 I 前端開發的SOLID - 介面隔離原則
📌 D 前端開發的SOLID - 依賴反轉原則

Single responsibility principle - 單一功能原則

每一個class或function都應該僅具有單一功能為主

Open–closed principle - 開關原則

這裡指的開與關,事實上就是指我們常聽見的擴充與修改。

  1. Open
    設計程式應該保持適當的開放性以便後續擴充。

  2. Close
    設計程式需要注意耦合性的問題,每個class或是function之間,應該儘可能的獨立開來。

看完上面還不太懂的話,你可以想像一下你今天有一台汽車,你開著開著好幾天,突然之間車燈壞掉了,你一定會去維修廠把車燈修理好,但是你應該不希望換了車燈,卻需要換輪胎, 引擎……吧?

Liskov substitution principle - Liskov替換原則

Liskov提出了一個設計原則:程式中的物件應該是可以在不改變程式正確性的前提下被它的子類所替換的。

Interface segregation principle - 介面隔離原則

主要是在詮釋,功能性應該要越精準越好,而不需要提供過多攏於的功能。

Dependency inversion principle - 依賴反轉原則

把不同的功能,從介面抽離出來

假如,你具有以下的特性:

  • 你的手機有:Android, Symbian, IOS
  • 你定義你的手機可以做的有:上網, 打電話, 玩pokemon Go

你會發現Symbian的作業系統手機是無法安裝pokemon Go的,因此需要把pokemon Go這個行為從你的手機可以做的動作中抽離出來。

如何把SOLID原則應用在前端

等等等…SOLID原則不是主要應用在OOP上面嗎?那要怎麼用在前端設計上?當然可以!
下一篇文章就來帶你瞧瞧!!