物件導向程式設計5項基本原則 – SOLID

  • 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說明

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/

Ref:

https://www.jyt0532.com/2020/03/22/lsp/

7天學會設計模式:設計模式也可以這樣學」一書

%d 位部落客按了讚: