ホームページ  >  記事  >  Java  >  Java のデザイン パターン -- アダプター パターン

Java のデザイン パターン -- アダプター パターン

巴扎黑
巴扎黑オリジナル
2017-07-22 14:07:391037ブラウズ

定義 (Baidu Encyclopedia):
コンピューター プログラミングでは、アダプター パターン (パッケージング スタイルまたはパッケージングとも呼ばれる) によって、クラスのインターフェイスがユーザーの期待に適合します。
アダプターを使用すると、クラス独自のインターフェースを既存のクラスでラップすることにより、インターフェースに互換性がないために通常は連携できないクラスが連携できるようになります。

UML クラス図:

特定のコード:

public class Client {public static void main(String[] args) {
        Adaptee adaptee = new Adaptee();
        Adapter adapter = new Adapter(adaptee);
        adapter.request();
    }
}public interface Target {void request();
}public class Adaptee {void adapteeRequest() {
        System.out.println("本类");
    }
}public class Adapter implements Target {

    Adapter(Adaptee adaptee) {this.adaptee = adaptee;
    }private Adaptee adaptee;
    @Overridepublic void request() {
        System.out.println("适配类");
        adaptee.adapteeRequest();
    }
}

例:
このパターンは毎日使用される例で、最も一般的なものは次のとおりです。さまざまなアダプターインターフェイス。 Mac をプロジェクターに接続する場合、通常はアダプター インターフェイスが必要です。これがアダプター モードです。
実際の開発例では、現在のシステムは段階的に繰り返し開発されます。同じ関数に 2 つ以上の異なるインターフェースが存在する可能性があります。
前のインターフェースを呼び出す必要があるものと、後のインターフェースを呼び出す必要があるものがあります。すべてがめちゃくちゃなので、新旧の互換性を持たせるためにアダプターを追加する必要があります。

該当するシナリオ:
既存のクラスを使用したいが、そのインターフェイスがニーズを満たしていません。
他の無関係なクラスや予期しないクラス (つまり、インターフェイスが必ずしも互換性があるとは限らないクラス) と連携できる再利用可能なクラスを作成したいと考えています。
いくつかの既存のサブクラスを使用したいと考えていますが、インターフェースに合わせてそれぞれをサブクラス化することはできません。オブジェクトアダプターは親クラスのインターフェースに適応できます

長所と短所:

長所:
再利用性とスケーラビリティの向上

短所:
多くのアダプターを組み合わせるとシステムが混乱しすぎて安全でなくなる 把握しやすい。

概要: アダプター モードは、「互換性がある」という 2 つの言葉で要約できます。もちろん、システムが優れている必要はありません。

以上がJava のデザイン パターン -- アダプター パターンの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。