Java Category

デザインパターン

パターン名だけでなく適用場面も合わせて整理する。

Category Overview

このカテゴリで扱うテーマ

GoF パターンを Java 標準ライブラリの文脈で整理する。

GoF適用判断標準ライブラリとの対応
Java 17Article
Java Singleton パターンの安全な実装方法と3方式の比較

Eager・Holder・Enum の3方式を比較し、スレッド安全で壊れにくい Singleton を選ぶ。

Read
Java 17Article
Java Factory Method パターンで生成を委譲する

生成処理をサブクラスに委譲し、呼び出し側を具象クラスから切り離す Factory Method の実装。

Read
Java 17Article
Java Abstract Factory で関連オブジェクトをまとめて生成する

関連する複数の Product をファクトリーインターフェースでまとめて生成し、DB 切替などに対応する。

Read
Java 17Article
Java Builder パターンで複雑なオブジェクト生成を整理する

引数が多いコンストラクタを Builder に置き換え、必須・任意の区別と不変オブジェクトの生成を両立する。

Read
Java 17Article
Java Prototype パターンでオブジェクトを複製する

コピーコンストラクタと record の withXxx メソッドで、安全にオブジェクトを複製する方法を整理する。

Read
Java 17Article
Java Adapter パターンで既存クラスのインターフェースを変換する

変更できない既存クラスを新しいインターフェースに適合させる Adapter の実装方法を整理する。

Read
Java 17Article
Java Bridge パターンで抽象と実装を分離する設計と実装

通知の種類(緊急・定期)と送信手段(メール・SMS)を独立に拡張できる Bridge 構造の実装。

Read
Java 17Article
Java Composite パターンで木構造を再帰的に扱う

ファイルシステムを題材に、個々の要素と複合要素を同一インターフェースで透過的に扱う Composite の実装。

Read
Java 17Article
Java Decorator パターンで機能を動的に追加する

テキスト処理を題材に、既存オブジェクトに変更を加えず機能を重ねる Decorator の実装方法を整理する。

Read
Java 17Article
Java Facade パターンで複雑なサブシステムを簡潔に使う

SMTP・テンプレート・監査ログの3つのサブシステムを Facade で統合し、呼び出し側に簡潔なインターフェースを提供する。

Read
Java 17Article
Java Flyweight パターンでオブジェクト共有によりメモリを節約する

同一属性のオブジェクトをキャッシュで共有し、大量生成時のメモリ消費を抑える Flyweight の実装。

Read
Java 17Article
Java Proxy パターンで遅延初期化とアクセス制御を実装する

仮想プロキシによる遅延ロードとアクセス制御プロキシで、実オブジェクトへのアクセスを安全に制御する。

Read
Java 17Article
Java Chain of Responsibility 実装と適用判断

ログフィルタリングを題材に、処理の連鎖を柔軟に組み替えられる Chain of Responsibility パターンを解説する。

Read
Java 17Article
Java Command パターンで Undo/Redo を実装する

テキストエディタを題材に、操作のオブジェクト化と Undo/Redo 履歴管理を Command パターンで実装する。

Read
Java 17Article
Java Interpreter パターンで式評価を実装する

四則演算の式ツリーを題材に、文法規則をクラスで表現する Interpreter パターンを解説する。

Read
Java 17Article
Java Iterator パターンとカスタムコレクション実装

Iterable/Iterator の実装とページング走査を題材に、内部構造を隠蔽して要素を走査する Iterator パターンを解説する。

Read
Java 17Article
Java Mediator パターンでオブジェクト間通信を整理する

チャットルームを題材に、オブジェクト間の通信を仲介者に集約する Mediator パターンを解説する。

Read
Java 17Article
Java Memento パターンで状態の保存と復元を実装する

テキストエディタの Undo を題材に、オブジェクトの状態をスナップショットとして保存・復元する Memento パターンを解説する。

Read
Java 17Article
Java Observer パターンでイベント通知を実装する

イベント通知システムを題材に、状態変化を複数のリスナーに通知する Observer パターンを解説する。

Read
Java 17Article
Java State パターンで状態遷移を安全に実装する設計手法

自動販売機を題材に、状態ごとに振る舞いを切り替える State パターンを解説する。

Read
Java 17Article
Java Strategy パターンでアルゴリズムを切り替える

ソートアルゴリズムの差し替えを題材に、実行時にアルゴリズムを切り替える Strategy パターンを解説する。

Read
Java 17Article
Java Template Method パターンでバッチ処理を整理する

データ移行バッチを題材に、処理の骨格を親クラスに定義し、ステップをサブクラスでカスタマイズする Template Method パターンを解説する。

Read
Java 17Article
Java Visitor パターンで構造と処理を分離する設計と実装

ファイルシステム走査を題材に、データ構造に手を加えずに新しい処理を追加できる Visitor パターンを解説する。

Read