本文へスキップ

デザインパターンとは?

でざいんぱたーん

デザインパターンとは、ソフトウェア設計における頻出の問題に対する再利用可能な解決策の定型集です。

デザインパターン(Design Pattern)とは、ソフトウェアの設計において繰り返し登場する典型的な問題に対し、過去の経験から導き出された汎用的かつ再利用可能な設計の定石(ひな形)のことをいいます。1994年にエーリッヒ・ガンマら4名(Gang of Four、略してGoF)が著書『オブジェクト指向における再利用のためのデザインパターン』で23種類のパターンを体系化したことで広く普及しました。

GoFのパターンは目的別に3つのカテゴリに分類されます。

  • 生成に関するパターン:Singleton、Factory Method、Abstract Factory、Builder、Prototypeなど。オブジェクトの生成方法を抽象化します。
  • 構造に関するパターン:Adapter、Decorator、Facade、Compositeなど。クラスやオブジェクトの組み合わせ方を整理します。
  • 振る舞いに関するパターン:Observer、Strategy、Command、Iteratorなど。オブジェクト間の役割分担やアルゴリズムの切り替えを定義します。

デザインパターンを活用する主な利点は、設計意図をチーム内で共通の語彙として伝えられる点と、実績のある構造を採用することで保守性・拡張性の高いコードを効率よく書ける点にあります。一方、パターンの適用が目的化すると過剰設計に陥る危険もあるため、問題に対して本当に有効かを見極めることが重要です。

GoF以降もMVCなどのアーキテクチャパターン、DDD(ドメイン駆動設計)のパターン、マイクロサービス向けのパターンなどが発展しており、設計知識の共有手段として現在も広く参照されています。

使い方・例文

Webアプリケーションの通知機能に「Observer(オブザーバー)パターン」を使うと、イベント発火元と受信側の依存関係を疎結合に保ちながら、受信者を後から自由に追加できるように設計できます。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語