logo

Java のデザイン パターン | Java デザイン パターンのチュートリアル

Java のデザイン パターンは、開発者がより保守しやすく、柔軟で、理解しやすいコードを作成するのに役立ちます。これらには、経験豊富なソフトウェア アーキテクトや開発者の専門知識と経験がカプセル化されており、新しいプログラマーが確立されたベスト プラクティスに簡単に従うことができます。

デザインパターンとは何ですか?

設計パターンは、ソフトウェア エンジニアリングで使用される、ソフトウェア設計で頻繁に発生する問題に対する一般的な反復可能な解決策です。これは、すぐにコードで記述できる完全な設計ではありません。これは、さまざまな状況に適用できる問題解決のための説明またはモデルです。



Java デザイン パターンのチュートリアル

Java のデザイン パターンの種類

Java デザイン パターンは 3 つのカテゴリに分類されます。

  • 創造的な、
  • 構造的、そして
  • 行動デザインパターン。

1. Java での創造的なデザイン パターン

創造的なデザイン パターンは、ソフトウェア開発におけるデザイン パターンのサブセットです。彼らはオブジェクト作成のプロセスを扱い、それをより柔軟かつ効率的にしようとします。これにより、システムが独立し、そのオブジェクトがどのように作成、構成、表現されるかが決まります。



Javaでのインスタンス化

Java の創造的なデザイン パターンの種類:

1.1 ファクトリーメソッド

Factory Method は、インターフェイスを提供する創造的なデザイン パターンです。 スーパークラスでオブジェクトを作成しますが、クラスのインスタンスを作成するのはサブクラスです。

1.2 抽象的なファクトリーメソッド

Abstract Factory Method は創造的なデザイン パターンであり、具体的なクラスを指定せずに関連オブジェクトまたは依存オブジェクトのファミリーを作成するためのインターフェイスを提供します。

1.3 ビルダーメソッド

ビルダー メソッドは創造的なデザイン パターンであり、オブジェクトを構築するためのインターフェイスを提供し、このインターフェイスを実装して特定のオブジェクトを段階的に作成する具体的なビルダー クラスを持ちます。



1.4 プロトタイプの方法

プロトタイプ メソッドは創造的なデザイン パターンであり、クラスや構造の詳細を明示的に指定せずに、既存のオブジェクトと同じ構造と初期状態を持つ新しいオブジェクトを作成することを可能にします。

1.5 シングルトン方式

シングルトンメソッドは創造的なデザインパターンであり、 クラスにはインスタンスが 1 つだけあり、そのインスタンスがクラスへのグローバル アクセス ポイントを提供します。

Javaを配列にリストする

2. Java の構造設計パターン

構造設計パターンは、より大きく、より複雑な構造を形成するためのクラスまたはオブジェクトの構成に焦点を当てた、ソフトウェア開発における設計パターンのサブセットです。これらは、オブジェクト間の関係を整理および管理して、ソフトウェア システムの柔軟性、再利用性、保守性を向上させるのに役立ちます。

Java の構造設計パターンの種類:

2.1 アダプター方式

アダプター メソッドは構造設計パターンであり、互換性のない 2 つのインターフェイス間にブリッジを作成することで、これらのインターフェイスを連携させることができます。

2.2 ブリッジ方式

ブリッジ工法は構造設計パターンであり、設計に提供します。 オブジェクトの抽象化をその実装から分離し、両者が独立して変化できるようにします。

23 複合法

コンポジット手法は構造設計パターンであり、オブジェクトをツリー構造に合成して部分全体の階層を表現するために使用されます。このパターンは、個々のオブジェクトとオブジェクトの構成の両方を扱い、クライアントがオブジェクトの複雑な構造を個々のオブジェクトであるかのように操作できるようにします。

coomeetのようなウェブサイト

2.4 デコレータメソッド

Decorator Method は構造設計パターンであり、 同じクラスの他のオブジェクトの動作に影響を与えることなく、静的または動的に個々のオブジェクトに動作を追加できます。

2.5 ファサード工法

ファサード メソッドは構造設計パターンであり、サブシステム内の一連のインターフェイスに簡略化された高レベルのインターフェイスを提供し、クライアントがそのサブシステムと対話しやすくします。

2.6 プロキシ方式

プロキシメソッドは構造的な設計パターンであり、 これは、オブジェクトの代替物を作成することを提供し、実際のオブジェクトへの仲介またはアクセスの制御として機能します。

2.7 フライウェイト法

フライウェイト工法は構造設計パターンであり、 クラスの多数のオブジェクトを作成する必要がある場合に使用されます。すべてのオブジェクトはメモリ空間を消費するため、メモリの少ないデバイスでは重要になる可能性があるため、フライウェイト デザイン パターンを適用して、オブジェクトを共有することでメモリの負荷を軽減できます。

3. 行動デザインパターン Javaで

動作デザイン パターンは、オブジェクトとクラス間の通信と対話を扱うソフトウェア開発におけるデザイン パターンのサブセットです。オブジェクトとクラスがタスクと責任を達成するためにどのように連携し、通信するかに焦点を当てています。

Java の動作設計パターンの種類:

3.1 コマンド方式

コマンド メソッドは動作デザイン パターンであり、送信者 (クライアント) と受信者 (操作を実行するオブジェクト) の間の疎結合を促進し、取り消し可能な操作をサポートする方法を提供します。

Javaがintに変換する

3.2 イテレータメソッド

イテレータメソッドは動作設計パターンであり、 t は、コレクションの基礎となる表現を公開せずに、集合オブジェクト (コレクション) の要素に順次アクセスする方法を提供します。

3.3 メディエーター方式

メディエーターメソッドは行動デザインパターンであり、 メディエーター オブジェクトを介してオブジェクト間の通信を集中化することで、オブジェクト間の疎結合を促進します。オブジェクトが相互に直接通信するのではなく、相互作用と調整ロジックをカプセル化するメディエータを介して通信します。

3.4 メメントメソッド

Momento メソッドは動作デザイン パターンであり、実装の詳細を明らかにすることなく、オブジェクトの以前の状態を保存および復元する機能を提供します。

私のクリケット

3.5 オブザーバー方式

オブザーバー メソッドは動作デザイン パターンであり、オブジェクト間の 1 対多の依存関係を定義するため、1 つのオブジェクト (サブジェクト) の状態が変化すると、そのすべての依存オブジェクト (オブザーバー) に通知が送信され、自動的に更新されます。

3.6 状態メソッド

ステートメソッドは行動設計パターンであり、 これにより、オブジェクトの内部状態が変化したときにオブジェクトの動作を変更できるようになります。

3.7 戦略手法

戦略メソッドは動作設計パターンであり、アルゴリズムのファミリーを定義し、それぞれをカプセル化して交換可能にし、クライアントが実行時にアルゴリズムのファミリーから適切なアルゴリズムを選択できるようにします。

3.8 テンプレートメソッド

テンプレート メソッドは動作デザイン パターンであり、メソッド内でアルゴリズムのスケルトンを定義しますが、サブクラスはその構造を変更せずにそのアルゴリズムの一部のステップを変更できます。

3.9 ビジター方式

Visitor メソッドは動作デザイン パターンであり、一連の構造化された階層オブジェクトがあり、クラスを変更せずにこれらのオブジェクトに対してさまざまな操作を実行したい場合に使用されます。

3.10 Null オブジェクト メソッド

Null オブジェクト メソッドは動作デザイン パターンであり、使用されます 何もしないオブジェクト、またはデフォルトの動作を提供するオブジェクトを提供することで、有効なオブジェクトの欠如を処理します。

その他の参考文献:

  • Java デザイン パターン トップ 30 のインタビューの質問
  • Java デザイン パターンのベスト 10 冊
  • デザインパターン:2019年にソフトウェア開発者が身につけるべき必須スキル
  • デザインパターン: 実際の例で重要性を理解する
  • デザイン パターン: Bookmyshow のような映画チケット予約システムをデザインする
  • 設計パターン: オブジェクト指向の原則を使用して駐車場を設計するにはどうすればよいですか?