書中依據「可能發生變化的方面」將 23 種模式分為三類:
關注物件的建立方式,隔離建立細節,使系統不依賴具體類別。新增型別時無需修改客戶端程式碼。代表模式:Factory Method、Abstract Factory、Builder、Prototype、Singleton。
關注類別與物件的組合,確保系統結構變化不影響現有連接。代表模式:Adapter、Bridge、Composite、Decorator、Facade、Flyweight、Proxy。
關注物件間的職責分配與演算法封裝。代表模式:Chain of Responsibility、Command、Interpreter、Iterator、Mediator、Memento、Observer、State、Strategy、Template Method、Visitor。
本章不逐一講解所有模式,而是透過 Observer、Visitor、Prototype、Singleton、Factory Method 等具體範例,建立對模式概念的直觀理解,並展示模式在系統演化中的實際價值。讀者應參考原書深入學習各模式細節。