IT用語: デザインパターンとは|GoFの23パターンと代表例
ソフトウェア設計でよく直面する問題への定番解決策「デザインパターン」の概念とシングルトン・ファクトリー等の代表パターンを解説。
デザインパターンとは
デザインパターンは、ソフトウェア開発で繰り返し登場する設計上の問題に対する「定石(定番の解決策)」です。1994年にGang of Four(GoF)が書籍でまとめた23パターンが有名で、「シングルトン」「ファクトリー」「オブザーバー」等の名前で知られています。
代表的なパターン
| パターン | 種類 | 概要 |
|---|---|---|
| Singleton | 生成 | クラスのインスタンスを1つだけに制限 |
| Factory | 生成 | オブジェクト生成をサブクラスに委譲 |
| Observer | 振る舞い | 状態変化を複数のオブジェクトに通知 |
| Strategy | 振る舞い | アルゴリズムを動的に切り替え |
| Decorator | 構造 | 既存オブジェクトに機能を動的に追加 |
なぜ重要なのか?
チーム開発でコードを読む際、「これはObserverパターンだ」と分かればコードの意図が即座に伝わります。設計の意図を共通言語で伝えられることがデザインパターンの最大の価値です。
関連する用語 (プログラミング)
全33件を見るWeb Components
ブラウザネイティブの技術でカプセル化された再利用可能なUIコンポーネントを作成する仕様。Custom Elements・Shadow DOM・HTML Templatesの3つの技術で構成され、フレームワーク非依存で動作する。
JavaScript (JS)
Webブラウザ上で動きのある表現(アニメーション等)を実現するためのプログラミング言語。
Go / Golang (ゴー言語)
Google社が開発した、処理速度が超絶爆速で、大量のアクセスに強い現代的なプログラミング言語。
SSR(サーバーサイドレンダリング)
Webページをサーバー側でHTMLとして生成してからクライアントに送信する手法。SPAのSEO問題を解決し、初期表示を高速化できる。Next.js・Nuxt.jsで実装されることが多い。
Vite(ヴィート)
Vue.jsの作者が開発した次世代フロントエンドビルドツール。ネイティブESモジュールを活用した超高速な開発サーバー起動とHMR(ホットモジュールリプレース)を実現する。
Rust (ラスト)
「処理の速さ」と「メモリの安全性(バグの出にくさ)」を両立させた、世界で最もプログラマーに愛されている次世代言語。