「開-閉」原則講的是:一個軟件實體應當對擴展開放,對修改關閉。這個原則說的是,在設計一個模塊的時候,應當在沒必要修改源代碼的狀況下改變這個模塊的行爲。spa
知足「開-閉」原則的設計能夠給一個軟件系統兩個無可比擬的優越性:設計
2.對可變性的封裝原則對象
3.設計原則繼承
任何父類能夠出現的地方,子類必定能夠出現。里氏代換原則是「開-閉」原則的補充,實現「開-閉」原則的關鍵步驟就是抽象化。父類與子類的繼承關係就是抽象化的具體體現,因此里氏代換原則是對實現抽象化的具體步驟的規範。接口
要依賴於抽象,不要依賴於實現。擴展
要儘可能使用合成/聚合,而不是繼承關係達到複用的目的。軟件
一個軟件實體應當與儘量少的其餘實體發生相互做用。方法
應當爲客戶端提供儘量小的單獨的接口,而不要提供大的總接口。客戶端