TSV

GoFデザインパターン - TSV

GoFデザインパターンは、1994年にErich Gamma、Richard Helm、Ralph Johnson、John Vlissidesの4人(通称「Gang of Four」)によって著された『Design Patterns: Elements of Reusable Object-Oriented Software』で提唱された、オブジェクト指向ソフトウェア設計における23の再利用可能な解決策です。生成パターン、構造パターン、振る舞いパターンの3カテゴリに分類され、ソフトウェアの再利用性、保守性、拡張性を向上させるために広く使用されています。

デザインパターン GoF オブジェクト指向 ソフトウェア設計 プログラミング
code	slug	name	description	category
C01	factory-method	ファクトリーメソッド	オブジェクト生成のインターフェースを定義し、具体的なクラスはサブクラスに決定させます。	生成パターン
C02	abstract-factory	抽象ファクトリ	関連するオブジェクト群を具体的なクラスを指定せずに生成するインターフェースを提供します。	生成パターン
C03	singleton	シングルトン	クラスのインスタンスを1つだけに制限し、グローバルなアクセスポイントを提供します。	生成パターン
C04	prototype	プロトタイプ	既存のオブジェクトをコピーして新しいオブジェクトを生成します。	生成パターン
C05	builder	ビルダー	複雑なオブジェクトを段階的に構築し、構築と表現を分離します。	生成パターン
S01	adapter	アダプター	互換性のないインターフェースを持つクラス同士を連携させます。	構造パターン
S02	bridge	ブリッジ	抽象部分と実装部分を分離し、それぞれを独立して変更可能にします。	構造パターン
S03	composite	コンポジット	ツリー構造でオブジェクトを表現し、個別とグループを同一視します。	構造パターン
S04	decorator	デコレーター	既存オブジェクトに新しい機能を動的に追加します。	構造パターン
S05	facade	ファサード	複雑なサブシステムに対して簡素化されたインターフェースを提供します。	構造パターン
S06	flyweight	フライウェイト	共有可能なインスタンスを共有し、メモリ使用量を削減します。	構造パターン
S07	proxy	プロキシ	別オブジェクトへのアクセスを制御する代理オブジェクトを提供します。	構造パターン
B01	chain-of-responsibility	責任の連鎖	リクエストを複数のハンドラに連鎖的に渡し、処理できるハンドラが処理します。	振る舞いパターン
B02	command	コマンド	リクエストをオブジェクトとしてカプセル化し、送信者と受信者を分離します。	振る舞いパターン
B03	interpreter	インタープリター	特定の言語の文法を解析し、式を解釈・評価します。	振る舞いパターン
B04	iterator	イテレーター	集合体内の要素に順番にアクセスする方法を提供します。	振る舞いパターン
B05	mediator	メディエーター	オブジェクト間の通信を中央の媒介者で管理し、依存関係を削減します。	振る舞いパターン
B06	memento	メメント	オブジェクトの状態を保存し、後で復元可能にします。	振る舞いパターン
B07	observer	オブザーバー	状態変更時に依存オブジェクトに自動的に通知します。	振る舞いパターン
B08	state	ステート	状態に応じてオブジェクトの振る舞いを動的に変更します。	振る舞いパターン
B09	strategy	ストラテジー	アルゴリズムをカプセル化し、実行時に選択可能にします。	振る舞いパターン
B10	template-method	テンプレートメソッド	処理の枠組みを定義し、詳細をサブクラスに委任します。	振る舞いパターン
B11	visitor	ビジター	オブジェクト構造を変更せずに新しい操作を追加します。	振る舞いパターン