SOLID設計原則筆記

如何寫出高質量的代碼,是大家一直都在被拷問的難題。通常,軟件開發的最佳實踐都提倡“高內聚、低耦合”。比如,在軟件的設計和開發過程中,應儘量做到,軟件各實體(如模塊、類、函數等)的責任有清晰地定義和劃分,並儘量避免軟件實體之間的耦合,從而降低代碼的複雜度。

什麼是SOLID?

SOLID是一系列軟件設計、開發的原則,是設計、開發出高質量軟件的手段。這些原則能幫助我們設計出“高內聚、低耦合”的軟件。遵循這些原則,我們能在代碼的開發與審查階段有效地發現代碼中的臭味。

SOLID是最常用的五個面向對象設計原則的英文名稱的首字母:

  • [S]ingle Responsibility Principle(單一職責)
  • [O]pen/Closed Principle(開閉原則)
  • [L]iskov Substitution Principle(里氏替換)
  • [I]nterface Segregation Principle(接口隔離)
  • [D]ependency Inversion Principle(依賴倒置)

簡單解釋如下:

SRP:單一職責

就一個類而言,有且僅有一個引起它變化的原因。

OCP:開閉原則

軟件實體(模塊、類等)對擴展是開放的,對修改是關閉的。

對於一個類來說,如果要擴展其功能,應儘量使用添加新代碼的方式,而不是修改舊代碼。

LSP:里氏替換

在使用父類的地方,子類能替換父類。

DIP:依賴倒置

實現依賴於抽象,而不是抽象依賴於實現。

ISP:接口隔離

不強迫用戶依賴不需要的接口。

(接口屬於用戶,不屬於接口提供者。爲了更形象的理解,API應被稱爲Application Programmer Interface,而不是Application Programming Interface.)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章