1、單一職責原則(SRP)
一個類只負責一個職責,避免一個類承擔過多的職責,提高類的可復用性、可維護性和可擴展性。
2、開放封閉原則(OCP)
對擴展開放,對修改封閉。在不修改原有代碼的情況下,通過擴展來實現新的功能。
3、里氏替換原則(LSP)
子類可以替換父類并且可以在不改變程序正確性的前提下工作。即,在任何使用父類對象的地方,都可以使用子類對象替換。
4、依賴倒置原則(DIP)
高層模塊不應該依賴低層模塊,它們都應該依賴于抽象。抽象不應該依賴于具體實現,具體實現應該依賴于抽象。
5、接口隔離原則(ISP)
客戶端不應該依賴于它不需要的接口。一個類對另一個類的依賴應該建立在最小的接口上。
6、迪米特法則(LoD)
一個對象應該與其他對象之間保持最少的耦合。一個類應該盡可能少地了解其它類,只與直接的朋友通信。