IT用語: デザインパターンとは|GoFの23パターンと代表例
ソフトウェア設計でよく直面する問題への定番解決策「デザインパターン」の概念とシングルトン・ファクトリー等の代表パターンを解説。
デザインパターンとは
デザインパターンは、ソフトウェア開発で繰り返し登場する設計上の問題に対する「定石(定番の解決策)」です。1994年にGang of Four(GoF)が書籍でまとめた23パターンが有名で、「シングルトン」「ファクトリー」「オブザーバー」等の名前で知られています。
代表的なパターン
| パターン | 種類 | 概要 |
|---|---|---|
| Singleton | 生成 | クラスのインスタンスを1つだけに制限 |
| Factory | 生成 | オブジェクト生成をサブクラスに委譲 |
| Observer | 振る舞い | 状態変化を複数のオブジェクトに通知 |
| Strategy | 振る舞い | アルゴリズムを動的に切り替え |
| Decorator | 構造 | 既存オブジェクトに機能を動的に追加 |
なぜ重要なのか?
チーム開発でコードを読む際、「これはObserverパターンだ」と分かればコードの意図が即座に伝わります。設計の意図を共通言語で伝えられることがデザインパターンの最大の価値です。
関連する用語 (プログラミング)
全33件を見るJAMstack
JavaScript・APIs・Markupの頭文字をとったWebアーキテクチャ。ビルド時に静的HTMLを生成し、動的機能はAPIで補完することで高速・安全・スケーラブルなWebサイトを実現する。
GraphQL
FacebookがRESTの課題を解決するために開発したAPIクエリ言語。クライアントが必要なデータの形を宣言的に指定して取得でき、オーバーフェッチ・アンダーフェッチを解消する。
Rust (ラスト)
「処理の速さ」と「メモリの安全性(バグの出にくさ)」を両立させた、世界で最もプログラマーに愛されている次世代言語。
PWA(プログレッシブウェブアプリ)
Service WorkerやWeb App Manifestを使い、Webアプリにネイティブアプリに近い体験を提供する技術。オフライン動作・ホーム画面への追加・プッシュ通知が実現できる。
IT用語: クロージャ(Closure)とは|関数が変数を「覚える」仕組み
関数が定義された時点のスコープの変数を参照し続けるクロージャの仕組みとカウンターなどの実用例を解説。
モノレポ(Monorepo)
複数のプロジェクトやパッケージを1つのGitリポジトリで管理する手法。コードの共有・一貫したCI/CD・依存関係の統一が容易になる。Turborepo・Nx・Yarnワークスペースで実装される。