設計模式總結

2021-05-21 20:27:55 字數 2999 閱讀 3104

http://www.chenjiliang.com/article/view.aspx?articleid=6708 比較

設計模式

常用程度

適用層次

引入時機

結構複雜度

abstract factory

比較常用

應用級設計時

比較複雜

builder

一般**級

編碼時一般

factory method

很常用**級

編碼時簡單

prototype

不太常用

應用級編碼時、重構時

比較簡單

singleton

很常用**級、應用級

設計時、編碼時

簡單adapter

一般**級

重構時一般

bridge

一般**級

設計時、編碼時

一般composite

比較常用

**級編碼時、重構時

比較複雜

decorator

一般**級

重構時比較複雜

facade

很常用應用級、構架級

設計時、編碼時

簡單flyweight

不太常用

**級、應用級

設計時一般

proxy

比較常用

應用級、構架級

設計時、編碼時

簡單chain of resp.

不太常用

應用級、構架級

設計時、編碼時

比較複雜

command

比較常用

應用級設計時、編碼時

比較簡單

interpreter

不太常用

應用級設計時

比較複雜

iterator

一般**級、應用級

編碼時、重構時

比較簡單

mediator

一般應用級、構架級

編碼時、重構時

一般memento

一般**級

編碼時比較簡單

observer

比較常用

應用級、構架級

設計時、編碼時

比較簡單

state

一般應用級

設計時、編碼時

一般strategy

比較常用

應用級設計時

一般template method

很常用**級

編碼時、重構時

簡單visitor

一般應用級

設計時比較複雜

原則、變化與實現

設計模式

變化實現

體現的原則

abstract factory

產品家族的擴充套件

封裝產品族系列內容的建立

開閉原則

builder

物件組建的變化

封裝物件的組建過程

開閉原則

factory method

子類的例項化

物件的建立工作延遲到子類

開閉原則

prototype

例項化的類

封裝對原型的拷貝

依賴倒置原則

singleton

唯一例項

封裝物件產生的個數

adapter

物件介面的變化

介面的轉換

bridge

物件的多維度變化

分離介面以及實現

開閉原則

composite

複雜物件介面的統一

統一複雜物件的介面

黎克特制代換原則

decorator

物件的組合職責

在穩定介面上擴充套件

開閉原則

facade

子系統的高層介面

封裝子系統

開閉原則

flyweight

系統開銷的優化

封裝物件的獲取

proxy

物件訪問的變化

封裝物件的訪問過程

黎克特制代換原則

chain of resp.

物件的請求過程

封裝物件的責任範圍

command

請求的變化

封裝行為對物件

開閉原則

interpreter

領域問題的變化

封裝特定領域的變化

iterator

物件內部集合的變化

封裝物件內部集合的使用

單一職責原則

mediator

物件互動的變化

封裝物件間的互動

開閉原則

memento

狀態的輔助儲存

封裝物件狀態的變化

介面隔離原則

observer

通訊物件的變化

封裝物件通知

開閉原則

state

物件狀態的變化

封裝與狀態相關的行為

單一職責原則

strategy

演算法的變化

封裝演算法

黎克特制代換原則

template method

算法子步驟的變化

封裝演算法結構

依賴倒置原則

visitor

物件操作變化

封裝物件操作變化

開閉原則 學習

掌握設計模式的意圖以及解決的問題

掌握設計模式所封裝的變化點以及優缺點

了解設計模式的結構圖以及各角色的職責

專案中是否應用了設計模式不重要,重要的是設計模式是否正確應用

專案中應用的設計模式和gof設計模式的結構是否一致不重要,重要的是是否從這個結構中得意

不管用了還是沒有用設計模式,如果違背了原則,就是不恰當的設計

沒有設計模式是萬能的,沉迷於獲得乙個解決方案的話可能會導致專案結構複雜、**可讀性差、並且造成專案延期

設計模式總結

模式相關的描述 裝飾者 包裝乙個物件,以提供新的行為 狀態 封閉了基於狀態的行為,並使用委託在行為之間切換 迭代器 在物件的集合之間遊走,而不暴露集合的實現 外觀 簡化一群類的介面 策略 封閉可以互換的行為,並使用委託來決定要使用哪乙個 包裝物件,以控制對此物件的訪問 工廠方法 由子類來決定要建立的...

設計模式總結

這類模式的特質是管理物件的建立過程。通常設計總是以使用工廠方法開始,當設計者發現需要更大的靈活性時,設計會向其它建立型模式演化。工廠方法模式 單例模式 抽象工廠方法模式 建造者模式 原型模式 簡單工廠模式 這類模式從程式的結構上解決模組之間的耦合問題。介面卡模式 裝飾模式 橋接模式 組合模式 享元模...

設計模式總結

學習大話設計模式應經有乙個月的光景了。學習過程中,就感覺挺好玩的。每一種模式都可以用生活中的小例子恰如其分的詮發布來,就感覺看完小例子之後,再去看模式的的類圖,的時候,感覺他舉的例子對極了,匹配極了 在此期間,我一直有一種心態 然後呢?對,就是 然後呢 感覺很有意思,同時,我也感覺出來了,這本書凝聚...