ホームページ >ウェブフロントエンド >jsチュートリアル >最もよく使用される 12 のデザイン パターンのまとめ_JavaScript スキル
1. 戦略パターン (Strategy): アルゴリズムのファミリーを定義し、相互に置換できるようにそれらを個別にカプセル化します。
たとえば、Collections.sort(List list, Comparator c); 複数の Comparator インターフェイスを実装できます。
2. デコレータ: オブジェクトにいくつかの追加の役割を動的に追加します。
たとえば、java.io パッケージは FileInputStream をカプセル化しますが、前者は readLine メソッドを実装します。
3. プロキシ モード (プロキシ): このオブジェクトへのアクセスを制御するためのプロキシを提供します。
たとえば、ユーザーがログインすると、実際のログイン クラスとプロキシの両方が使用されます。ログイン クラス Login インターフェイスが実装されている点が異なります。Proxy クラスのメソッドは、ユーザーが正当である場合にのみ、ユーザーがアクセスするものであるかどうかの判定を追加します。
4. ファクトリ パターン (ファクトリー): オブジェクトを作成するためのインターフェイスを定義し、それに基づいてどのクラスをインスタンス化するかをサブクラスに決定させます。特定の前提条件がある場合、ファクトリ パターンが使用されます。
5. テンプレート モード (テンプレート): 操作でアルゴリズムのスケルトンを定義し、一部のステップをサブクラスに延期します。
たとえば、HibernateTemplate、Connection スイッチの実装。テンプレートで定義されており、ユーザーはそれをサブクラスに追加するだけで済みます。
6. ファサード: サブシステム内の一連のインターフェイスに一貫したインターフェイスを提供します。 DBUtil など、すべてのデータベース オブジェクトをカプセル化するために使用されている場合、インターフェイス DBUtil.getDBUtil() のみが残ります。
7. ビルダー パターン (Builder): 複雑なオブジェクトの構築をその表現から分離します。 8. オブザーバー パターン (Observer): 定義済み 複数のオブザーバー オブジェクトが特定のトピック オブジェクトを同時に監視できるようにする 1 対多の依存関係。
例: ServletContextListener は、アプリケーションの開始時に通知します。
9. 抽象ファクトリ パターン (Abstract Factory): 特定のクラスを指定せずに、一連の関連オブジェクトまたは相互依存オブジェクトを作成するためのインターフェイスを提供します。 . アダプター パターン (アダプター): クラスのインターフェイスを顧客が必要とする別のインターフェイスに変換します。
11. シングルトン モード (シングルトン): クラスにインスタンスが 1 つだけあることを確認し、それにアクセスするためのグローバル コントロール ポイントを提供します。
たとえば、このモードは構成ファイルをロードするときに使用できます。
12. コマンド モード (コマンド): 顧客がさまざまなリクエストでパラメータ化できるように、リクエストをオブジェクトにカプセル化します。 Struts の MVC 構造は、実際にはコマンド モードです。