SOLID是在程式設計領域的五個基本原則,主要在清除程式碼異味,
使程式碼好閱讀好維護,易擴充。
Single responsibility principle(SRP) 單一職責
一個類別只負責一件事情,但也要注意功能被切的太細碎造成過度設計(over design)。
Open/close principle(OCP) 開放/封閉原則
開放擴充封閉修改原則。要能保留彈性,擴充新功能,但舊功能應該是封閉修改,
或是需要調整也不影響到其他功能。
Liskov substitution principle(LSP) Liskov替換
父類別應該可以再不改變程式正確性的前提下被它的子類別替換。
Interface Segregation Principle(ISP) 介面隔離
將不同功能分離為不同的介面,而不是使用一個廣泛用途的介面。
Dependency Inversion Principle(DIP) 依賴反轉
依賴於抽象而不是一個實體。
高階模組不應依賴低階模組,兩個都應該依賴在抽象概念上;
抽象概念不依賴細節,而是細節依賴在抽象概念。
依賴注入是種實現控制反轉的一種方式。