アダプタモード:3のJavaのデザインパターン

入門

本論文では、Adapterパターンの内容を説明しています。定義は、主に、アダプタモードに関し、コード例では、使用シナリオを要約します。
springboot @valueは、プレースホルダapplication.propertiesを解決できませんでした。

  • アダプタモードの紹介
  • サンプルコード
  • 概要

I.はじめにアダプタモード

我々は知覚的意識を持っているように、我々は最初のアダプタモード、アダプタの定義を与えます。

そのため仕事にそうできないため、インターフェイスのミスマッチのと仕事への二つのクラス一緒に、別のを期待するクライアント・インタフェースとしてクラスのインタフェースを変換します

上記の適応モード、気持ちの周りに行く必然的にいくつかのステートメントに翻訳された外国人の物事の本来の定義です。自分の理解によると、定義により、アダプターは、以前に互換性のないものの側面と互換性があります。我々は、iPhoneの香港のバージョンを使用した場合栗の場合、そこ経験します。iPhoneの充電プラグの香港バージョンが取るされていない中国本土での充電器が、3つのプラグ、3-プラグインです。次のとおりです。
ここに画像を挿入説明
我々は充電器の香港バージョンを使用したい場合は、次の図に示すように、我々はに滞在できるよう、本土二相プラグの習慣に沿った三つ又のプラグに変換するために、このコンバータを介して、コンバータが必要になります新しい携帯電話でそれを再生します。
ここに画像を挿入説明
上記栗によって、我々はアダプタパターンは、実際に変換され、それは直接変換器の中間によって元のターゲットを使用することはできません知ることができ、オブジェクトは、コードがどのようにすべきの世界に対応し、互いに互換性の使用に変えることができますAdapterパターンを使うのか?私たちは下を見続けています。

第二に、サンプルコード

構図ポイントアダプタモードは以下のように:

  • 顧客(クライアント):クライアントクラス。
  • ターゲット・インタフェース(ターゲット):インターフェイスの顧客が使用したいです。ターゲットインタフェースがあってもよい、特異的または抽象クラスであってもよいです。プラグの三相バージョンである、ここでターゲットポート栗、上記のように、
    フィッター(Adaptee):アダプタは、クラスまたはカテゴリを必要と上記二相プラグのように、適合されます。
    アダプタ(アダプタ):ニーズが元のターゲット・インターフェースにインターフェースを変換するように適合されているオブジェクトをラップすることによって。

ここに画像を挿入説明
コードがアダプタに書き込まれる2つのモードが存在するモードベースクラスアダプタ、アダプタとオブジェクトモデルに基づいて、他のです。この記事は、オブジェクトアダプタ途中に基づいています。
ゴール相充電器

public interface ThreePhaseCharger {
    void threePhaseCharger ();
}

フィッタ(Adaptee)

public interface TwoPhaseCharger {
    void twoPhaseCharger ();
}

フィッタ(Adaptee)を達成します

public class TwoPhaseChargerImpl implements TwoPhaseCharger  {
    @Override
    public void twoPhaseCharger () {
        System.out.println("start to two phase charger!");
    }
}

アダプタ

public class ChargerAdapter implements ThreePhaseCharger {
    TwoPhaseCharger  twoPhaseCharger;
	
	public ChargerAdapter(TwoPhaseCharger  twoPhaseCharger){
		this.twoPhaseCharger = twoPhaseCharger;
	} 

	@Override
    public void threePhaseCharger () {
        twoPhaseCharger.twoPhaseCharger ();
    }
}

クライアントの顧客

public class Client {
    public static void main(String[] args) {
	    TwoPhaseChargerImpl  twoPhaseCharger = new TwoPhaseChargerImpl();
	    ChargerAdapter chargerAdapter = new ChargerAdapter (twoPhaseCharger );
	    chargerAdapter.threePhaseCharger ();

}
}

第三に、要約

これらは、我々はアダプタモード上での簡単な概要を作る、関連するコンテンツのアダプタパターンです。
我々は、既存のインターフェースを使用したい1、が、それは直接アクセスすることができなくなって、既存のインターフェース仕様データに準拠していない、我々はアダプタを作成することができ、このクラスのアクセス・メソッドに直接移動することができるようになります。
2、あなたが他のシステムとのインタフェースのインタフェースと同じシステムを使用して自分自身を呼び出したい場合は、我々はアダプタ層によって変換する必要があるように、異なるシステム間で業務データをドッキングするとき。

88元記事公開 ウォン称賛49 ビューに10万+を

おすすめ

転載: blog.csdn.net/Diamond_Tao/article/details/102409260
おすすめ