デザインパターン (GoF) 主要

GoF 23パターンの3カテゴリと、Singleton/Factory/Observer/Strategy 等の代表パターンを整理。

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 の名前と一文説明をセットで覚えておきましょうね。

確認クイズ

観察対象オブジェクトの状態変化を、複数の観察者オブジェクトに通知するパターンとして最も適切なものはどれか。

  1. Singleton
  2. Factory Method
  3. Observer
  4. Adapter
こたえを見る

正解: 3. Observer

Observer パターンは『観察対象 (Subject) の状態変化を、登録された観察者 (Observer) に通知する』パターン。GUI のイベントリスナー、Pub/Sub メッセージング、リアクティブプログラミングの基礎です。

藤咲まりあ、砂原ニコが浴衣で花火鑑賞を楽しむ様子

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。