SRP 單一職責原則
就一個類而言,應該僅有一個引發它變化的緣由。
OCP 開放封閉原則
軟件實體(類、模塊、函數等)應該是能夠擴展的,可是不能夠修改。
LSP Liskov 替換原則
子類型必須可以替換他們的基本類型。
DIP 依賴倒置原則
抽象不該該依賴於細節。細節應該依賴於抽象。
ISP 接口隔離原則
不該該強迫客戶依賴於他們不用的方法。接口屬於客戶,不屬於他所在的類層次結構。
REP 重用發佈等價原則
重用的粒度就是發佈的粒度。
CCP 共用重用原則
一個包中的全部類應該是共同重用的。若是重用了包中的一個類,那麼就要重用包中的全部類。相互之間沒有緊密聯繫的類不該該在同一個包中。
共同封閉原則
一個包中的全部類對於同一類性質的變化應該是共同封閉的。一個變化若對一個包影響,則將對包中的全部類產生影響,而對其餘包不形成任何影響。
ADP 無依賴原則
在包的依賴關係中不容許存在環。細節不該該被依賴。
穩定依賴原則
朝着穩定的方向進行依賴。
穩定抽象原則
一個包的抽象程度應該和其餘穩定程度一致。