GoF 23パターンのうち、AP では『生成・構造・振る舞い』の各カテゴリから代表を覚えれば十分です。
デザインパターン は OO設計の典型解。
GoF の23パターンが古典で、生成 (5)・構造 (7)・振る舞い (11) の3カテゴリに分類されます。
えっ、全部覚えなきゃダメなの?
AP では主要な5〜7個で十分。
生成系は {kw('Singleton')}・{kw('Factory')}、構造系は Adapter・Decorator、振る舞い系は {kw('Observer')}・Strategy・Iterator・Template Method、ぐらいを優先。
Singleton って何のためにあるんですかぁ?
クラスのインスタンスを1つだけに制限するパターンです。
設定情報やログ出力など、システム全体で1つだけ存在すればよいオブジェクトに使います。
スレッドセーフな実装が肝ですね。
AP では『次のような状況で使う最適なパターンはどれか』『この説明はどのパターンか』がよく出るのよ。
GoF の名前と一文説明をセットで覚えておきましょうね。
確認クイズ
観察対象オブジェクトの状態変化を、複数の観察者オブジェクトに通知するパターンとして最も適切なものはどれか。
- Singleton
- Factory Method
- Observer
- Adapter
こたえを見る
正解: 3. Observer
Observer パターンは『観察対象 (Subject) の状態変化を、登録された観察者 (Observer) に通知する』パターン。GUI のイベントリスナー、Pub/Sub メッセージング、リアクティブプログラミングの基礎です。