この記事では主に Java アダプター モードを紹介します。これは非常に優れていると思いますので、参考にしてください。エディターをフォローして見てみましょう
1. コンセプト
アダプター モードは、あるインターフェイスを顧客が望む別のインターフェイスに変換します。これにより、インターフェイスに互換性がないために当初は連携できなかったクラスが連携できるようになります。
2. UML
3. より鮮明な例
4.分析
私は去年ノートを買いました。さらに、このノートブックにはロジクール G1 光学スリーブが装備されています。何が面倒かというと、光電ケースのマウスはUSBインターフェース、キーボードはPS2インターフェースなのですが、私のノートPCにはPS2インターフェースがありません。そこで、市場に行ってアダプターを購入しました。
そこで、いくつかのクラスを抽象化しました。
1.PS2Port (PS2インターフェース)。
2.USBPort (USBインターフェース)。
3.PS2ToUSB (オブジェクトアダプター)、PS2インターフェースをUSBインターフェースに置き換えます。
4.TestAdapter (テストクラス)、クライアント。
PS2ポート
1 2 3 4 5 6 7 8 9 10 |
|
USBポート
1 2 3 4 5 6 7 8 9 10 |
|
PS2ToUSB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
テストアダプター
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
5. オブジェクトアダプターとクラスアダプター
上記のアダプターはオブジェクトアダプターです。クラスアダプターをもう一度見てみましょう。
PS2ToUSB、簡単なシミュレーションです。 Java では多重継承が許可されていないため、Java にはクラス パターン コードはなく、アイデアのみが存在します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
違いは、オブジェクトアダプターはクライアントが希望するインターフェース(USB)を実装し、内部で適応オブジェクト(PS2)への参照を持ち、組み合わせにより適応機能を実現することです。クラスアダプタは、クライアントが希望するインターフェース(USB)と適応オブジェクトインターフェース(PS2)を実装し、継承により適応機能を実現する。
6. 使用シナリオと使用経験
1. いくつかの既存のクラスを再利用したいと考えていますが、インターフェースが再利用環境の要件と一致しません。
2. 実際、初期の設計ではアダプター モードは少し役に立ちませんが、統合インターフェイスのリファクタリングを検討する必要があります。
7. アダプター パターンとデコレーター パターン
両方ともオブジェクトをラップするために使用できます。 本質的な違いは
1. アダプター パターン: 1 つのインターフェイスを別のインターフェイスに変換します。
2. デコレータ パターン: インターフェイスは変更せず、責任を追加するだけです。
以上がJavaのアダプタパターンに関するグラフィックコードの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。