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. ManyToMany双方向
- 4. 双方向バインド
- 5. 双方向カスケード
- 6. 双方向マッピングリスト
- 7. 双方向リスト
- 8. 双方向アソシエーション
- 9. 双方向バブルソートプルーフ
- 10. JSONとの双方向バインディング?
- 11. 双方向xdcr elasticsearchとcouchbase
- 12. $ routeParamsとの双方向バインディング?
- 13. UIScrollViewと双方向スクロール
- 14. WPF双方向バインディングと
- 15. リアクションUIと双方向バインディング
- 16. 双方向UDPクライアントとサーバー?
- 17. プロセスと双方向通信
- 18. MVVMとの双方向バインド
- 19. WPF CheckBoxの双方向は
- 20. 双方向ビジネスルールとは何ですか?
- 21. C - 双方向リンクリスト
- 22. CanJS - 双方向バインディング
- 23. 双方向同等
- 24. Hibernate - 双方向@OneToOne
- 25. 双方向OOPデザインパターン
- 26. 双方向Mercurialマージ
- 27. 双方向データバインディング - ngModel
- 28. ssh forward - 双方向
- 29. 双方向接続
- 30. C++「双方向」オブザーバーパターン
はこの宿題ですか? –
:)いいえいいえ..宿題ではなく、面接の準備をしていますが、アダプターのパターンを理解していますが、双方向アダプターの使い方を理解できませんでした。私はこの本の例が私が気づいていないSmalltalkにあるので、C++に言及しました。 – Priyanka
しかし、本の例はすべてC++またはSmalltalkにあります。なぜGoFによって与えられたコードを見てみませんか?それともスモールトークで与えられたものでしたか?申し訳ありませんが、ここに私のテキストをチェックする必要はありません。 – duffymo