開放即指對擴展開放,對修改關閉 簡而言之,就是擴展功能的時候應該儘可能的不修改原有的代碼。算法
能夠簡單理解爲派生類與基類的替換關係,一旦程序中出現基類,那麼這個基類如果唄派生類替換了,也應該是合適的,而且對程序功能不受影響,該原則其實是開閉原則的補充。 基類能真正複用,派生類也可以在基類的基礎上增長新的行爲。實現開閉原則的關鍵步驟就是抽象化,而基類與子類的繼承關係就是抽象化的具體實現,因此里氏代換原則是對實現抽象化的具體步驟的規範。編程
這個原則是開閉原則的基礎,具體內容:針對接口編程,依賴於抽象而不依賴於具體。設計模式
使用多個隔離的接口,比使用單個接口要好,該模式出發點在與大一點的軟件設計架構,便於維護升級,下降耦合度。架構
一個實體應當儘可能少地與其餘實體之間發生相互做用,使得系統功能模塊相對獨立。學習
儘可能使用合成/聚合的方式,而不是使用繼承。設計
對象實例化的模式,建立型模式用於解耦對象的實例化過程。代理
把類或對象結合在一塊兒造成一個更大的結構。對象
類和對象如何交互,及劃分責任和算法。繼承
歡迎你們關注個人公衆號<情繫IT>,每日推送文章供你們學習參考。接口