What is SOLID?
在程序設計領域, SOLID(單一功能、開閉原則、里氏替換、接口隔離以及依賴反轉)是由羅伯特·C·馬丁在21世紀早期引入的記憶術首字母縮略字,指代了物件導向編程和物件導向設計的五個基本原則。當這些原則被一起應用時,它們使得一個程式設計師開發一個容易進行軟體維護和擴展的系統變得更加可能。[1] SOLID所包含的原則是通過引發編程者進行軟體原始碼的代碼重構進行軟體的代碼異味清掃,從而使得軟體清晰可讀以及可擴展時可以應用的指南。SOLID被典型的應用在測試驅動開發上,並且是敏捷開發以及自適應軟體開發的基本原則的重要組成部分。
● Single-responsiblity principle
一個class內應該只有一個改變的理由,意思是一個class應該只需要專注做一件事情,這個理由是當class內需要做兩件以上的工作時,一旦程式需要改變,因為他的耦合度比一件工作還要高,造成變更上的困難,所以盡量避免。