[Design Patterns]SOLID

SOLID是在程式設計領域的五個基本原則,主要在清除程式碼異味,
使程式碼好閱讀好維護,易擴充。

Single responsibility principle(SRP) 單一職責

一個類別只負責一件事情,但也要注意功能被切的太細碎造成過度設計(over design)。

Open/close principle(OCP) 開放/封閉原則

開放擴充封閉修改原則。要能保留彈性,擴充新功能,但舊功能應該是封閉修改,
或是需要調整也不影響到其他功能。

Liskov substitution principle(LSP) Liskov替換

父類別應該可以再不改變程式正確性的前提下被它的子類別替換。

Interface Segregation Principle(ISP) 介面隔離

將不同功能分離為不同的介面,而不是使用一個廣泛用途的介面。

Dependency Inversion Principle(DIP) 依賴反轉

依賴於抽象而不是一個實體。
高階模組不應依賴低階模組,兩個都應該依賴在抽象概念上;
抽象概念不依賴細節,而是細節依賴在抽象概念。
依賴注入是種實現控制反轉的一種方式。

-------------The End-------------