プログラミング 2026-04-09
IT用語: デザインパターンとは|GoFの23パターンと代表例
ソフトウェア設計でよく直面する問題への定番解決策「デザインパターン」の概念とシングルトン・ファクトリー等の代表パターンを解説。
デザインパターンとは
デザインパターンは、ソフトウェア開発で繰り返し登場する設計上の問題に対する「定石(定番の解決策)」です。1994年にGang of Four(GoF)が書籍でまとめた23パターンが有名で、「シングルトン」「ファクトリー」「オブザーバー」等の名前で知られています。
代表的なパターン
| パターン | 種類 | 概要 |
|---|---|---|
| Singleton | 生成 | クラスのインスタンスを1つだけに制限 |
| Factory | 生成 | オブジェクト生成をサブクラスに委譲 |
| Observer | 振る舞い | 状態変化を複数のオブジェクトに通知 |
| Strategy | 振る舞い | アルゴリズムを動的に切り替え |
| Decorator | 構造 | 既存オブジェクトに機能を動的に追加 |
なぜ重要なのか?
チーム開発でコードを読む際、「これはObserverパターンだ」と分かればコードの意図が即座に伝わります。設計の意図を共通言語で伝えられることがデザインパターンの最大の価値です。
関連する用語 (プログラミング)
全33件を見るC# (シーシャープ)
Microsoft社が開発した、エンタープライズ(企業向け)システムからゲーム開発(Unity)まで広く使われる万能言語。
詳しく読む
Rust (ラスト)
「処理の速さ」と「メモリの安全性(バグの出にくさ)」を両立させた、世界で最もプログラマーに愛されている次世代言語。
詳しく読む
Go / Golang (ゴー言語)
Google社が開発した、処理速度が超絶爆速で、大量のアクセスに強い現代的なプログラミング言語。
詳しく読む
Vite(ヴィート)
Vue.jsの作者が開発した次世代フロントエンドビルドツール。ネイティブESモジュールを活用した超高速な開発サーバー起動とHMR(ホットモジュールリプレース)を実現する。
詳しく読む
ESLint
JavaScriptとTypeScriptのコードを静的解析し、潜在的なバグや規約違反を検出するリンター。プロジェクト全体で一貫したコードスタイルを強制し、コードレビューの負担を軽減する。
詳しく読む
WebAssembly(Wasm)
ブラウザ上でネイティブに近い速度で実行できるバイナリ命令形式。C・C++・Rustなどのコードをブラウザで動かすことができ、ゲーム・動画編集・CADなど計算負荷の高いWebアプリに使われる。
詳しく読む