首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

GoF 23 種設計模式全景圖譜:創建型、結構型、行為型分類速查

     編輯:Java 相關知識

前言

板橋裡人系列為國內最早系統介紹 GoF 設計模式,本文彙總分類索引,詳細講解請參閱原系列文章或《Java 實用系統開發指南》實戰案例。

A. 創建型模式 (5 種)

  • Factory Method / Abstract Factory:封裝對象創建,像 new 一樣頻繁使用。
  • Prototype:用原型實例指定類型,通過克隆創建新對象。
  • Builder:將複雜對象構建與表示分離(如汽車組裝)。
  • Singleton:保證類唯一實例,提供全局訪問點。

B. 結構型模式 (7 種)

  • Facade:為子系統提供統一高層接口(如 JDBC 多數據庫適配)。
  • Proxy:為其他對象提供代理控制訪問(如 Jive 用戶授權)。
  • Adapter:將接口轉換為客戶期望接口(組合優於繼承)。
  • Composite:樹形結構組合對象,整體-部分一致性(如 Jive 權限樹)。
  • Decorator:動態添加職責,像油漆工刷顏色。
  • Bridge:將抽象與實現分離,動態組合(牛郎織女搭橋)。
  • Flyweight:共享細粒度對象,降低內存開銷。

C. 行為型模式 (11 種)

  • Template Method:定義算法骨架,子類實現細節(抽象類典型應用)。
  • Memento:備份狀態以便恢復。
  • Observer:發布-訂閱,Java API 內建支援。
  • Chain of Responsibility:責任鏈傳遞,擊鼓傳花。
  • Command:將請求封裝為對象(撤銷/重做、隊列)。
  • State:狀態對象化,狀態轉換器切換行為。
  • Strategy:算法族封裝,客戶端動態切換。
  • Mediator:中介者協調同事對象(紅綠燈)。
  • Interpreter:語言文法解析,應用較少。
  • Visitor:分離操作與對象結構,易擴展操作。
  • Iterator:遍歷聚合對象,已融入 Java Collection 框架。

延伸資源

  • Thinking in Patterns with Java (Bruce Eckel)。
  • CMSC491D Design Patterns in Java Overview。
  • Design Patterns Java Companion。
  • J2EE 模式:EJB 中的模式應用、《程序員》刊文、Sun J2EE Patterns。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved