23種設計模式

2016年到了,從2014年到今天,已經工作1年半了,回想自己這一年半的工作發現除了剛工作的時候進步很大,現在幾乎沒有怎麼進步,一直在停滯不前。

2016年的1月份給自己定的目標就是理解23種設計模式。

現在我想將設計模式寫成博客,以鞏固自己的學習

一、分類

創建型模式(5種):

用來創建對象以便能實現系統解耦。包括:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。

結構型模式(7種):

用不同的對象組成大規模的對象結構。包括:適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式。

行爲模式(11種):

用來在對象種管理算法、關係和責任。包括:策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、解釋器模式。

二、原則

1開閉原則(Open Close Principle)

開閉原則就是說對擴展開放,對修改關閉。在程序需要進行拓展的時候,不能去修改原有代碼,實現一個熱插拔效果。爲了使程序的擴展性好,易於維護和升級,我們需要使用接口和抽象類。

2里氏代換原則

里氏代換原則是面向對象設計的基本原則之一。里氏代換原則中說,任何基類可以出現的地方,子類一定可以出現。是繼承複用的基石,只有當衍生類可以替換掉基類,軟件單位的功能不受到影響時,基類才能真正被複用,而衍生類也能夠在基類的基礎上增加新的行爲。里氏代換原則是對“開閉原則”的補充說明。實現“開閉原則”的關鍵步驟就是抽象化。而基類與子類的繼承關係就是抽象化的具體實現,所以里氏代換原則是對抽象化的具體步驟的規範。

3依賴倒轉原則

這個是開閉原則的基礎,針對接口編程,依賴於抽象而不依賴於具體

4接口隔離原則

使用多個隔離接口比使用單個接口更好。可以降低類之間的耦合度。

5最少知道原則(迪米特法則)

一個實體類應當儘量少的與其他實體類之間發生互相作用,使系統的功能模塊相互對立。

6合成複用原則

儘量使用合成/聚合的方式,而不使用繼承





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章