創建者模型
設計模式 | 含義 | 類圖 |
---|---|---|
單例模式 | 保證一個類只有一個實例,並且提供一個訪問該實例的全局訪問點 | |
工廠模式 | 實現了創建者和調用者的分離 | |
簡單工廠 | 用來生產同一等級結構中的任意產品 | |
工廠方法 | 用來生產同一等級結構中的固定產品 | |
抽象工廠 | 用來生產不同產品族的全部產品 | |
建造者模式 | 分離了對象子組建的單獨構造和裝配,從而可以構造出複雜的對象實現了構造和裝配的解耦 | |
原型模式(克隆) | 通過new產生一個對象需要非常繁瑣的數據準備或訪問權限 |
結構模型
設計模式 | 含義 | 類圖 |
---|---|---|
適配器模式 | 講一個類的接口轉換成客戶希望的另外一個接口;使得原本由於接口不兼容而不能一起工作的那些類可以在一起工作 | |
代理模式 | 控制對對象的訪問爲真實對象提供一個代理,從而控制對真實對象的訪問 | |
橋接模式 | 處理多層繼承結構,處理多維度變化的場景,將各個維度設計成獨立的繼承結構,使各個維度可以獨立的擴展在抽象層建立關聯極大的提高了系統的可擴展性 | |
組合模式 | 把部分和整體的管理用樹形結構來表示,從而使客戶端可以使用統一的方式處理部分對象和整體對象,將對象組合成樹狀結構以表示“部分和整體”層次結構,使得客戶可以統一的調用葉子對象和容器對象 | |
裝飾模式(包裝器模式) | 動態地給一個對象添加額外的功能,比繼承靈活使用對象的關聯關係代替繼承關係,更加靈活,同時避免類型體系的快速膨脹不會導致類的急劇膨脹 | |
外觀模式 | 爲子系統提供統一的入口。封裝子系統的複雜性,便於客戶端調用使得子系統更加容易使用 | |
享元模式 | 以共享的方式高效地支持大量細粒度對象的重用;運用共享技術有效的實現管理大量細粒度對象,節省內存,提高效率 |
行爲型模型
設計模式 | 含義 | 類圖 |
---|---|---|
責任鏈模式 | 避免請求發送者和接受者的耦合,讓多個對象都有可能接受請求,將這些對象連成一條鏈,並且沿着這條鏈傳遞請求,直到有對象處理爲止 | |
迭代器模式 | 提供一種可以遍歷聚合對象的方式 | |
中介者模式 | 通過一箇中介對象來封裝一系列的對象交互,使得各對象不需要相互引用解耦多個同事對象之間的交互關係 | |
命令模式 | 將一個請求封裝爲一個對象,從而使我們可用不同的請求對客戶進行參數化,使得請求調用者何請求解耦 | |
解釋器模式 | 描述如何爲語言定義一個文法,如何解析 | |
訪問者模式 | 表示一個作用於某對象結構中的個元素的操作,它使我們 可以在不改變元素的類的前提下定義作用於這些元素的新操作; | |
策略者模式 | 解決某一個問題的一個算法族定義一系列的算法,並將每一個算法封裝到一個類中 | |
模版方法模式 | 定義一個操作中的算法骨架,將某些步驟延遲到子類中實現 | |
狀態模式 | 允許一個對象在其內部狀態改變時改變它的行爲;用於解決複雜對象的狀態轉化以及不同狀態下行爲的封裝問題 | |
觀察者模式 | 當一個對象狀態發生改變時,其相關以來對象皆得到通知並自動更新 | |
備忘錄模式 | 保存某個對象內部狀態的拷貝,這樣以後可以將對象恢復到原先的狀態 |