GoFによるデザインパターン(Eric Gammaなど)には、透過性のために使用される双方向アダプタパターンが記載されています。 2つの異なるクライアントが同じオブジェクトを別々に表示したい場合に便利です。 C++の例をいくつか与えることができ、実用的なシナリオを使用できますか?双方向アダプタパターンとは
6
A
答えて
0
Go4が説明しているように(私にとっては143ページ)、これは複数の継承に対するアダプタの拡張です。 1つのインターフェースタイプを拡張する代わりに、アダプタークラスは2つ拡張します。
2
1
2ウェイアダプターは、ターゲットとアダプターの両方のインターフェースを実装するアダプターです。適応されたオブジェクトは、Targetクラスを扱う新しいシステムではTargetとして、またはAdapteeクラスを扱う他のシステムではAdapteeとして使用できます。この考え方をさらに進めて、n個のシステムに適応するn個のインターフェイスを実装するアダプタを持つことができます。複数の継承をサポートしていないシステムでは、双方向アダプタとnウェイアダプタを実装することは難しいです。アダプタがTargetクラスを拡張する必要がある場合、Adapteeのような別のクラスには適用できないため、Adapteeはインタフェースであり、すべての呼び出しをアダプタからAdapteeオブジェクトに委譲する必要があります。
関連する問題
- 1. ASP.NETで双方向(双方向)データバインディングとは何ですか?
- 2. 双方向はWPF
- 3. 双方向カスケード
- 4. 双方向バインド
- 5. 双方向マッピングリスト
- 6. $ routeParamsとの双方向バインディング?
- 7. 双方向UDPクライアントとサーバー?
- 8. JSONとの双方向バインディング?
- 9. WPF CheckBoxの双方向は
- 10. 双方向接続
- 11. 双方向Mercurialマージ
- 12. C - 双方向リンクリスト
- 13. Hibernate - 双方向@OneToOne
- 14. ssh forward - 双方向
- 15. C++「双方向」オブザーバーパターン
- 16. DataGridCheckboxColumn双方向バインディング
- 17. @OneToOne単方向および双方向
- 18. Doctrine - OneToOne単方向対OneToOne双方向
- 19. アンドロイドとサーバー間の双方向通信
- 20. 角2 ngClassとの双方向結合
- 21. バックグラウンドプロセス(I/O)との双方向通信
- 22. 構成とJavaの双方向結合
- 23. UML:双方向性と多重性
- 24. アリスバンドルフィクスチャとの双方向関係
- 25. 双方向データベース同期
- 26. 双方向暗号化+ルックアップ?
- 27. 双方向関係グラフ
- 28. DataGridの双方向バインド
- 29. knockoutjsの双方向結合
- 30. 非同期双方向RPC
はこの宿題ですか? –
:)いいえいいえ..宿題ではなく、面接の準備をしていますが、アダプターのパターンを理解していますが、双方向アダプターの使い方を理解できませんでした。私はこの本の例が私が気づいていないSmalltalkにあるので、C++に言及しました。 – Priyanka
しかし、本の例はすべてC++またはSmalltalkにあります。なぜGoFによって与えられたコードを見てみませんか?それともスモールトークで与えられたものでしたか?申し訳ありませんが、ここに私のテキストをチェックする必要はありません。 – duffymo