「頭からデザインパターン」アダプタモードと外観モードの第VII章 - 読書ノート
ケースコードリンク:https://github.com/rainweb521/My-tutorial/tree/master/Design_patterns
アダプタは何ですか
現実にはどこにでもアダプタので。例えば:それはアメリカのプラグとコンチネンタルソケットの中央に位置しており、そしてその仕事は、アメリカのソケットにヨーロッパのソケットを変換することです:あなたはヨーロッパ諸国にアメリカ製のノートパソコンを使用する必要がある場合は、ACアダプタ、アダプタの役割を使用する必要があります米国のプラグがソケットに挿入することができるように、電力を得るために。それとも、考えることができます:アメリカのラップトップのニーズを満たすためにソケットアダプタインターフェイスを変更します。
まあ、これは、実際には何である現実の世界、アダプタ、オブジェクト指向のアダプタであるOOアダプタアダプタと現実世界と同じ役割を果たし:?顧客の期待を満たすために別のインターフェイスへのインターフェイスに変換します。
図に示すように、既存のシステムとアダプタベンダクラスとの間の層を追加することは、機能的な、元のクラスに基づいて変更されないかもしれません。
アダプタモード
次のようにクライアントアダプタとの間にあります。
- アダプタにアダプタを要求するターゲット・インタフェース・コールを通じて顧客。
- インタフェースアダプタは、人または複数のコール・インタフェースによって適合させるための要求を変換するように構成されています。
- 顧客は、呼び出しの結果を受けたが、これのすべてを認識していないが、翻訳者としてのアダプタ行為です。
アダプタモード:クラスのインタフェースは、顧客の期待に別のインターフェースに変換されます。元インターフェイスは、クラスと互換性がありませんように、アダプタがシームレスに共同作業をすることができます。
Facadeパターン
パッケージサブシステムクラスは、インタフェースを簡素化し、比較的シンプルなインターフェースを提供し、顧客がサブアセンブリから分離され、アダプタは、外観と多くの種類をパッケージングすることができるが、その意図は、インターフェイスの外観を簡素化することで、アダプタが意図されます別のインターフェイスへのインターフェイス。
ファサード・パターンは:統一されたインタフェース、サブシステムのグループにアクセスするために使用されるインターフェース、使用するサブシステムが容易でき、高レベルのインターフェイスの外観を提供します。
「最低限の知識」の原則
最小知識(最小知識)原則はわずか数残して、オブジェクト間の相互作用を減らすために教えてくれる「親友を。」この原則は、言うことは通常です。
最小知識の原則:だけあなたの親しい友人との話
あまりにも多くのオブジェクトに影響を与えない方法
オブジェクトのメソッド内の任意のオブジェクトの面では、我々は唯一のメソッドを呼び出す必要があり、以下の範囲に属します。
- オブジェクト自体
- メソッドに渡されたパラメータとしてのオブジェクト
- この方法で任意のオブジェクトが作成またはインスタンス化
- 任意のコンポーネントオブジェクト
モードの区別
デコレータ:インターフェイスを変更、しかし責任を追加していません
アダプター:別のインターフェイスに変身するためのインタフェース
外観:インタフェースが容易になります