今天開啟設計模式的學習,在學習設計模式之前,首先了解一下設計模式的七大原則。設計模式的原則也就是各種設計模式的基礎。
設計模式的七大原則有:
單一職責原則。
介面隔離原則。
裡式替換原則。
依賴倒轉原則。
開閉原則。
迪公尺特法則。
合成復用原則。
單一職責原則說明了乙個類應該有且僅有乙個引起它變換的原因。乙個類只負責乙個職責。如果乙個類中有多個職責,那麼這個類應該需要被拆分。
/**
* 單一職責原則演示(違背了單一職責)
* * @author wangb 2020/9/22
*/public class singleresponsibility
}/**
* 動物類
*/class animal
}
以上**段的輸出為:
dog say hello!
cat say hello!
process finished with exit code 0
上述案例很明顯的違背了單一職責原則。因為乙個類只應該負責一項職責。
/**
* 單一職責原則演示(遵守單一職責原則)
* * @author wangb 2020/9/22
*/public class singleresponsibility2
}/**
* dog類
*/class dog
}/**
* cat類
*/class cat
}
執行結果:
dog say hello!
cat say hello!
process finished with exit code 0
以上**遵守了單一職責原則。dog、cat類進行了拆分,每乙個類負責一項職責。但是這樣的改動很大。我們可以考慮使用方法級別的改動。參考下面plan 3.
方法級別的單一職責原則。
/**
* 單一職責原則演示(遵守單一職責原則,方法級別的)
* * @author wangb 2020/9/22
*/public class singleresponsibility3
}/**
* animal02類
*/class animal02
public void catsaysomething(string cat)
}
總結:1中完全沒有考慮單一職責原則,造成了乙個類負責多個職責。2中考慮了單一職責,但是創造了大量的類。3中也考慮了 七大原則 依賴倒置原則
依賴倒置原則 dependence inversion principle,dip 是 object mentor 公司總裁羅伯特 馬丁 robert c.martin 於 1996 年在 c report 上發表的文章。依賴倒置原則的原始定義為 高層模組不應該依賴低層模組,兩者都應該依賴其抽象 抽...
設計模式七大原則
open closed principle ocp 最基礎的原則,對擴充套件開放,對修改關閉強調的是用抽象構建框架,用實現擴充套件細節,可以提高軟體系統的可復用性和可維護性 dependence inversion principle,dip 程式要依賴於抽象介面,不要依賴於具體實現。即面向介面程式...
設計模式 七大原則
懂了設計模式,你就懂了物件導向分析和設計 ooa d 的精要.編寫軟體的過程,面臨 耦合性 內聚性 維護性 可擴充套件性 重用性 靈活性 等各方面的挑戰。設計模式就是為了解決這些問題 程式設計時遵循的原則,各種設計模式的基礎 注意事項和細節 那麼問題來了,如何正確使用繼承?答案 黎克特制替換原則 基...