メインコンテンツまでスキップ

まとめ

パターン比較レビュー

パターン適用条件強み注意点よく使うシーン
Factory Method実装クラスを動的に選びたい拡張性 ◎サブクラスを作る設計が必要シンプルな生成処理の柔軟化
Abstract Factory関連オブジェクト群を一括生成一括切替可能パターン構造がやや複雑UI/環境設定、モジュール群切替
Builder複雑な初期化手順を構築柔軟で見通し良い生成単純な構造には過剰多段階構築が必要な場面
Singletonインスタンスを 1 つに固定状態共有 ◎、再利用性高いテストや依存注入に注意Logger, 設定、キャッシュなど

まとめと選び方の指針

  • new が頻出している時点で構造を見直すサイン
  • 生成処理の集中管理でテスト・拡張・保守が容易になる
  • オブジェクトの複雑さや、生成対象の関係性に応じてパターンを選ぶことが重要

実際の設計会話での使い分けヒント

  • この new、あちこちに書かれててテストもしにくいし、Factory で管理しましょう
  • Logger とか共通ユーティリティなら Singleton にして共有した方が良さそう
  • このオブジェクト、プロパティの組み合わせが複雑だから Builder で構築したいですね
  • 環境ごとに依存を切り替えるなら Abstract Factory がいいかも