オブジェクト指向設計の定番ノウハウ集「GoFデザインパターン」。代表的なパターンを理解しましょう。
デザインパターンって、何のことなの?
オブジェクト指向設計で繰り返し現れる課題に対するデザインパターン集よ。
1994年にGoF (Gang of Four) という4人の研究者が23種類を整理したの。
3つのカテゴリに分けられます: 生成系 (オブジェクト生成)・構造系 (クラス構造)・振る舞い系 (オブジェクト間の協調) ですね。
代表的なパターンって、どんなのがあるのぉ?
Singleton (1つだけインスタンス)、Factory (オブジェクト生成を分離)、Observer (監視者通知)、Strategy (アルゴリズム交換)、Decorator (機能追加)、Adapter (インタフェース変換)、Iterator (要素走査) などが頻出。
デザインパターンを覚えると、設計の語彙が豊富になって、他のエンジニアと意思疎通しやすくなるのよ。
コードも読みやすくなるわ。
ただし、「パターンを使うこと」自体が目的化しないよう注意が必要です。
本当に必要な時だけ適用するのが大事ですね。
確認クイズ
オブジェクトのインスタンスが1つしか存在しないことを保証するGoFパターンはどれか。
- Factory
- Singleton
- Observer
- Adapter
こたえを見る
正解: 2. Singleton
Singleton はインスタンスが1つしか存在しないことを保証するパターン。設定情報やロガーなど、システム全体で唯一の存在が必要な場合に使います。