設計模式總結 封裝變化 提高復用

2022-02-07 05:30:32 字數 930 閱讀 2782

又有一段時間沒有接觸設計模式了,都快忘記了,現在回憶回憶,看看還是否記得。

看了設計模式感覺設計模式主要有作用是:

1、提高復用 看看gof的《設計模式可復用物件導向軟體的基礎》書名就知道

2、封裝變化 提取潛在的變化,對變化進行封裝,變化對開發和維護的影響降到最低

設計模式的分類:

1、建立型模式:主要是應用於物件的建立

單例模式:控制物件的數量

工廠方法模式、抽象工廠模式、生成器模式和原型模式都是用於減少使用new時與具體類之間的耦合

2、結構型模式:主要是使用物件建立更複雜的結構

介面卡模式:轉接物件介面,使之提供我們需要的方法

橋接模式:實現介面和具體實現的分離,支援物件多維的變化

合成模式:用於描述部分和整體的結構

裝飾模式:在穩定介面的前提下,擴充套件物件的功能

外觀模式:簡化互動的複雜度

享元模式:物件的共享技術

**模式:控制物件的訪問

3、行為型模式:主要是封裝物件的責任

責任鏈模式:封裝了物件的責任,支援不同的責任

命令模式:封裝命令請求,支援不同的命令請求

直譯器模式:我也說不清楚,該模式理解不夠,需要加強

迭代模式:封裝集合的變化,支援不同的集合遍歷

中介者模式:封裝了物件間的互動,減少物件間的耦合

備忘錄模式:封裝了物件狀態的變化,支援物件狀態的改變

觀察者模式:封裝了物件的通知,減少物件間互動的耦合度

狀態模式:封裝與狀態相關的行為,支援不同的狀態行為

策略模式:封裝演算法,支援不同的演算法

模板方法模式:封裝了演算法結構,將演算法的一些子部分的實現放在子類中

訪問者模式:增加物件的操作

呵呵,居然還記得一部分,以後要多深入理解理解,多實踐,這可是架構師需要掌握的一項技能,當然,我現在不是,但它是我中期的乙個目標。

設計原則 封裝變化原則

封裝變化點。隔離變化點的好處在於,將系統中經常變化的部分和穩定的部分隔離,有助於增加復用性,並降低系統耦合度。很多設計模式的意圖中都明顯地指出了其對問題的解決方案,學習設計模式的要點是發現其解決方案中封裝的變化點。abstract class person 不管男性女性都有走路的行為 public ...

復用 設計模式 反模式 分析模式

1987 年,smalltalk 社群的ward cunningham 和kent beck 發表了一篇文章 using pattern languages for object oriented programs 這標誌著建築大師的思想落戶軟體開發領域。設計模式的起源是建築師 christophe...

設計模式(十八) 狀態變化模式 memento

狀態變化模式包括 state和memento 備忘錄 在元件構建過程中,某些物件的狀態經常面臨變化,如何對這些變化進行有效的管理,又同事維持高層模組的穩定?軟體構建過程中,某些物件狀態轉換過程中,如果想回溯到之前的狀態,又不想暴露實現細節。乙個程式有在每個時候擁有的序列號都是不同的,代表他這個時候的...