摘錄1
Christopher Alexander說過:「每個模式描述了一個在咱們周圍不斷重複發生的問題,以及該問題的解決方案的核心。這樣,你就能一次又一次地使用該方案而沒必要作重複勞動」;儘管Alexander所指的是城市和建築模式,但他的意思也一樣適用於面向對象設計模式。
摘錄2
通常而言,一個模式有四個基本要素:
- 模式名稱 (pattern name) 一個助記名,它用一兩個詞來描述模式的問題、解決方案和效果。
- 問題 (problem) 描述了應該在什麼時候使用模式。
- 解決方案 (solution) 描述了設計的組成部分,它們之間的相互關係及各自的職責和協做方式。
- 效果 (consequences) 描述了模式應用的效果及使用模式應權衡的問題。
摘錄3
...本書中的設計模式是
對被用來在特定場景下解決通常設計問題的類和相互通訊的對象的描述。
總結:
這章介紹了什麼是設計模式,以及該書裏的設計模式是什麼樣子,都有精確的描述。該章節後半段說到了語言,本書使用Smalltalk 和 C++做爲示例語言,由於這些語言愈來愈流行(?)以及都是面向對象的語言,而不是過程式語言。從實用角度出發,選了它們。若是使用過程式,就可能要包括「繼承」,「封裝」和「多態」的設計模式,而一些面嚮對象語言就能夠直接支持某些模式。