CodeGym /Java Blog /ランダム /Java のデザインパターン [パート 1]
John Squirrels
レベル 41
San Francisco

Java のデザインパターン [パート 1]

ランダム グループに公開済み
これは Java のデザイン パターンに関する短い記事です。パターンの実装はなく、Java のパターンのリストとそれぞれの簡単な説明だけが含まれます。すでにこのテーマに精通している人にとって、これは復習と要約として役立ちます。逆に、パターンについて初めて学習する人は、さらに深く掘り下げる前に、トピックの最初の概要としてこれを活用することができます。 Java のデザインパターン [パート 1] - 1 デザインパターンは、頻繁に発生するプログラミング タスクにすぐに使用できるソリューションです。プロジェクトに接続できるクラスやライブラリではありません。それはさらに何かです。それぞれのタスクに適したデザインパターンを、それぞれの具体的なケースに実装します。デザイン パターンが間違って適用されたり、不適切なタスクに適用されたりすると、多くの問題が発生する可能性があることを覚えておく必要があります。ただし、パターンを適切に適用すると、タスクを簡単かつ簡単に完了できます。

パターンの種類:

  • 創造的な
  • 構造的な
  • 行動的な
作成パターンは初期化メカニズムを提供し、便利な方法でオブジェクトを作成できるようにします。構造パターンはクラスとオブジェクト間の関係を定義し、クラスとオブジェクトが連携できるようにします。行動パターンは、エンティティ間の対話を簡素化するために使用されます。

創造性:

  • シングルトン — クラスの作成を単一のインスタンスに制限し、その単一のインスタンスへのアクセスを提供します。

  • ファクトリ — 複数のサブクラスを持つスーパークラスがあり、入力に基づいてサブクラスを返す必要がある場合に使用されます。

  • 抽象ファクトリー — スーパーファクトリーを使用してファクトリーを作成し、それを使用してオブジェクトを作成します。

  • ビルダー — 単純なオブジェクトを使用して複雑なオブジェクトを作成するために使用されます。小さな単純なオブジェクトから徐々に大きなオブジェクトを作成します。

  • プロトタイプ — 複製オブジェクトを作成する際のパフォーマンスの向上に役立ちます。新しいオブジェクトを作成する代わりに、既存のオブジェクトのクローンを作成して返します。

構造:

  • アダプター — 2 つの互換性のないオブジェクト間のコンバーター。アダプター パターンを使用して、互換性のない 2 つのインターフェイスを組み合わせることができます。

  • 複合 — 1 つのクラスを使用してツリー構造を表します。

  • プロキシ — 別のクラスの機能を提供します。

  • Flyweight — 類似したオブジェクトを多数作成するのではなく、オブジェクトを再利用します。

  • ファサード — クライアントにシンプルなインターフェイスを提供し、クライアントはそのインターフェイスを使用してシステムと対話します。

  • ブリッジ — 特定のクラスをインターフェイスを実装するクラスから独立させます。

  • デコレータ — 既存のオブジェクトの構造に縛られることなく、新しい機能を追加します。

行動:

  • テンプレート メソッド — 基本的なアルゴリズムを定義し、子孫が全体の構造を変更せずにアルゴリズムの一部のステップをオーバーライドできるようにします。

  • Mediator — 異なるクラス間のすべての通信を処理する中間クラスを提供します。

  • 責任の連鎖 — リクエストの送信者と受信者間の厳密な依存関係を回避できます。さらに、リクエストは複数のオブジェクトで処理できます。

  • オブザーバー — 1 つのオブジェクトが他のオブジェクトで発生するイベントを監視し、応答できるようにします。

  • 戦略 — 実行時に戦略 (アルゴリズム) を変更できます。

  • コマンド — 特定のアクションを実行するためのメソッドを宣言するインターフェイス。

  • 状態 — オブジェクトがその状態に応じて動作を変更できるようにします。

  • 訪問者 — 関連オブジェクトのグループに対する操作を簡素化するために使用されます。

  • インタプリタ — 問題領域内の単純な言語の文法を定義します。

  • イテレータ — 基礎となる形式を知らなくても、コレクションの要素に順次アクセスします。

  • Memento — オブジェクトの状態を保存するために使用されます。この状態は後で復元できます。

CodeGym コースを進めていくと、このリストにあるいくつかのパターンに遭遇するでしょう。パターンに関する次のタスクをお勧めします: 152215301631big0129123107 ... デザイン パターンを賢明に使用すると、コードのメンテナンスの信頼性が高まります。これは、デザイン パターンが一般的な問題に対する優れた解決策であるという事実に加えて、他の開発者がそれらを認識できるため、特定のコードの作業に必要な時間が短縮されます。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION