デザインパターンを読む - アダプタモード

アダプタモード

      あなたは私たちが新しいクラスを開発する必要がありますが、今の機能準備クラスがあると私たちは似た新しいクラスを開発する必要がありますが、と言うなら、私が望んでいないものを準備クラスのクラス名、

      私たちは、メソッド名のメソッドを実行する方法を、私たちは(互換性のないインタフェース)欲しいものではありませんしたいですか?

     1、クラスAdapterパターン:ターゲット・インタフェースを実現するために、既存のクラスを継承します!

      既存のクラスを継承し、メソッドのクラスはメソッドのメソッド名は、我々が望むものでない場合でも、使用することができ、それの方法この方法で確立すること(異なるが、同じように関数の名前)を呼び出して、私たち自身のメソッドを作成します。

      アダプタクラスのオブジェクトを作成するときにパラメータを渡す必要はありません使用時のアダプタモデルクラス、。

     注意:我々は、アダプタクラスを記述する場合、クラス名は通常、アダプターのように記述され、それが実際の使用では、単に教育の使用であり、例えば、我々は、Circleクラスを作成したい直接既存のSpecialCircle、アダプタクラス名中サークル、継承SpecialCircle、形状を実現し、ないアダプタクラスは、クラス名は、アダプタを持っていたです。

   図2に示すように、アダプタ・モード・オブジェクト:クラス・アダプタのメンバ変数として既存のクラスを継承するが、クラスの既存のインスタンスではありません。

       その後、我々は、プロセス(インターフェイス)の方法、方法の例に対応する関数呼び出しを定義する必要があります。これは、ターゲット・クラスを継承するか、ターゲット・インタフェース、既存のクラスを継承する必要はありませんを実装する必要があります。

       キー:私たちは、クラス構造モデルが静的である前に、オブジェクトの構造モデルは動的であると述べました。私たちは、あなたがメンバ変数の割り当てにコンストラクタを記述する必要があり、もちろん、その後、メンバ変数として、既存のクラスの例であるため、それ以降は、明らかにされ、コンストラクタは、我々は既存のクラスの宛先インターフェイスに適合するということです途中、我々はそれがAdapterパターンの目的である、既存のクラスのサブクラスを渡されたパラメータに拡散することができ、既存のクラスにすることができ、そのサブクラスは、ターゲット・インタフェースに適合しています

      これは、動的なオブジェクトの構造モデルに反映します

      CARP(重合組成物の多重化の原則)とアダプタオブジェクトモデルの利点は、我々は、アダプタモードのオブジェクトを使用するようにしてください。

 

 

     

おすすめ

転載: blog.csdn.net/shen19960603/article/details/90601057
おすすめ