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