- SOLID目的
- SOLID五項原則
- Single Responsibility Principle說明
- Open/Close Principle說明
- Liskov Substitution Principle說明
- Interface Segregation Principle(ISP)說明
- Dependency Inversion Principle(DIP)說明
目的:
寫出好維護、易擴充的程式架構
SOLID五項原則:
- Single Responsibility Principle
- Open/Close Principle
- Liskov Substitution Principle
- Interface Segaration Principle(ISP)
- Dependency Inversion Principle(DIP)
Single Responsibility Principle說明
- 每個類別只負責一件事
Note:
要如何定義類別(or物件)的責任是一件很抽象的事,要避免切得太細或切得太粗
Open/Close Principle說明
- 開放擴充、封閉修改
Note:
擴充新功能時,不動舊的code
修改舊功能(class or function)時,其他地方的程式碼不必跟著修改
Liskov Substitution Principle說明
- 子類別應該可以替換父類別,而不影響程式架構與正常執行(p.s. 詳細說明與原則請參考https://www.jyt0532.com/2020/03/22/lsp/)
Note:
完整說明與原則請參考: https://www.jyt0532.com/2020/03/22/lsp/
Interface Segregation Principle(ISP)說明
- 把不同功能的功能從介面中分離出來
Dependency Inversion Principle(DIP)說明
- 高階模組不應該依賴低階模組,兩個都應該依賴在抽象概念上;抽象概念不依賴細節,而是細節依賴在抽象概念。
Note:
https://www.jyt0532.com/2020/03/23/isp/