デザインパターン 【design pattern】 デザパタ
概要
デザインパターン(design pattern)とは、ソフトウェアの設計時に直面しがちな問題とその典型的な解決策を整理し、様々な場面で応用・再利用できる形にまとめたもの。ソフトウェア開発者は個別には異なる対象や処理を扱うプログラムを記述していても、似たような構図や構造の問題に遭遇することがある。設計やコーディングの経験を積んでいくうちに、熟練した開発者の中には「このような問題を解決するには、このような構造のプログラムを作ればよい」というノウハウが蓄積されていく。
このような頻出する問題と典型的な解決策を他の人が参照して応用できるよう、再利用しやすい形に抽象化、形式化した形で整理したものがデザインパターンである。問題と解決策を一組として「Stateパターン」「Iteratorパターン」のように名前が付けられている。
1995年にオブジェクト指向プログラミングの分野で有名な「GoF」(Gang of Four:四人組)の通称で知られる研究者グループ、エーリヒ・ガンマ(Erich Gamma)氏、リチャード・ヘルム(Richard Helm)氏、ラルフ・ジョンソン(Ralph E. Johnson)氏、ジョン・ブリシディーズ(John M. Vlissides)氏による共著「オブジェクト指向における再利用のためのデザインパターン」(原題“Design Patterns: Elements of Reusable Object-Oriented Software”)の中で23のパターンが紹介されたことを契機に広まった。
(2018.10.11更新)