分類
創建型(Creational)、結構型(Structural)、行為型(Behavioral)?
要點
- 好的面向物件設計——應對變化、提高復用
- 在變化點處應用設計模式
- 重構關鍵技法 靜態-->動態
早系結-->晚系結
繼承-->組合
編譯時依賴-->運行時依賴
緊耦合-->松耦合
- 設計模式應用的前提是至少要有一個穩定點,也至少要有一個變化點,設計模式最大的作用就是在穩定和變化中尋找隔離點,然后分離它們,從而來管理變化,
里氏替換原則
里氏替換原則(Liskov Substitution Principle,LSP)的含義是:要保證子類能“無害地”替換基類,
類B派生自類A,現在,把程式中所有A類實體都換成B類實體,同時使得所有A類指標都指向B類實體,若此時程式仍然能夠運行且不發生邏輯錯誤(如不會由做加法變成做減法),則稱B對A的擴展滿足里氏替換原則,
里氏替換原則不僅是對子類的約束,也是對父類的約束,那就是:父類盡量不要改動,即使不得已要改動,也要保證能兼容所有子類(即可以被任何子類所代替),例如,父類A(如超級英雄類)中方法foo用來計算角色武力值,子類B(如蝙蝠俠類)用來計算蝙蝠俠的武力值,現在,把父類A的foo方法改為計算角色的生命值,此時,子類B不能代替父類A,因為B.foo用來計算武力值,不能用來計算生命值(即此時A.foo的功能),
參考[1][2],參考
[1] 里氏替換原則LSP|極客教程? [2] 里氏替換原則——面向物件設計原則?轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/423394.html
標籤:其他
上一篇:微服務架構 | 10.2 使用 Papertrail 實作日志聚合
下一篇:AS3動態影片剪輯名稱作為變數
