これは Java のデザイン パターンに関する短い記事です。パターンの実装はなく、Java に存在するパターンのリストとその簡単な内容のみが存在します。すでにこのテーマに取り組んでいる人にとって、繰り返しや一般化に役立つでしょう。あるいは逆に、パターンに初めて取り組む人にとっては、より深く掘り下げる前に、トピックの最初の概要を理解するためです。 デザイン パターン(デザイン テンプレート) は、頻繁に発生するプログラミングの問題に対するすぐに使用できるソリューションです。これはプロジェクトに接続できるクラスやライブラリではなく、それ以上のものです。それぞれの具体的なケースに応じて、タスクに適したデザインパターンが実装されます。このようなパターンが間違って適用されたり、間違った問題に適用されたりすると、多くの問題が発生する可能性があることを覚えておく必要があります。ただし、パターンを正しく適用すると、問題を簡単かつ簡単に解決できます。 パターンの種類:
- 生成する
- 構造的な
- 行動的な
- シングルトン- クラスの 1 つのインスタンスの作成を制限し、その唯一のオブジェクトへのアクセスを提供します。
- ファクトリ- 複数のサブクラスを持つスーパークラスがあり、入力に基づいてサブクラスから 1 つを返す必要がある場合に使用されます。
- 抽象ファクトリ- スーパー ファクトリを使用してファクトリを作成し、作成したファクトリを使用してオブジェクトを作成します。
- ビルダー- 単純なオブジェクトを使用して複雑なオブジェクトを作成するために使用されます。小さくて単純なオブジェクトから徐々に大きなオブジェクトを作成します。
- プロトタイプ- 新しいオブジェクトの代わりに、返された既存オブジェクトのクローンが作成され、パフォーマンスが向上した複製オブジェクトを作成するのに役立ちます。
- アダプターは、互換性のない 2 つのオブジェクト間のコンバーターです。アダプター パターンを使用すると、互換性のない 2 つのインターフェイスを組み合わせることができます。
- 複合- 単一のクラスを使用してツリー構造を表します。
- プロキシ- 別のクラスの機能を表します。
- フライウェイト- 類似したオブジェクトを多数作成する代わりに、オブジェクトが再利用されます。
- ファサード- クライアントにシンプルなインターフェイスを提供し、クライアントはそのインターフェイスを使用してシステムと対話します。
- Bridge - 具象クラスをインターフェイス実装クラスから独立させます。
- Decorator - 既存のオブジェクトの構造にコミットすることなく、新しい機能を追加します。
- テンプレート メソッド- アルゴリズムの基礎を定義し、後続者が全体の構造を変更することなくアルゴリズムの一部のステップを再定義できるようにします。
- Mediator - 異なるクラス間のすべての通信を処理するメディエーター クラスを提供します。
- 責任の連鎖- リクエストを複数のオブジェクトで処理しながら、リクエストの送信者が受信者に厳密に依存することを回避できます。
- オブザーバー- 一部のオブジェクトが他のオブジェクトで発生するイベントを監視し、反応できるようにします。
- 戦略- 戦略アルゴリズムはプログラムの実行中に変更できます。
- コマンド- コマンド インターフェイスは、特定のアクションを実行するメソッドを宣言します。
- 状態- オブジェクトはその状態に応じて動作を変更できます。
- 訪問者- 関連オブジェクトのグループ化に対する操作を簡素化するために使用されます。
- インタプリタ- 問題領域の単純な言語文法を定義します。
- イテレータ- 基礎となる表現を知らなくても、コレクション オブジェクトの要素に順次アクセスします。
- メメント (キーパー) - オブジェクトの状態を保存するために使用され、この状態は後で復元できます。
GO TO FULL VERSION