在GoF的書籍設計模式(Eric Gamma等人)中,提到了用於透明度的雙向適配器模式。當2個不同的客戶想要以不同的方式查看同一對象時,它們非常有用有人可以給出一個相同的C++示例,並且可以在哪些實際場景中使用?什麼是雙向適配器模式
6
A
回答
0
由於Go4對我進行了解釋(第143頁),它是Adapter對多重繼承的擴展。適配器類不是擴展一種接口類型,而是擴展了兩種。
2
1
雙向適配器是實現Target和Adaptee接口的適配器。經過調整的對象可用作處理Target類的新系統中的Target或作爲處理Adaptee類的其他系統中的Adaptee。進一步思考這一思路,我們可以讓適配器實現n個接口,並適應n個系統。在不支持多繼承的系統中,雙向適配器和n路適配器很難實現。如果適配器必須擴展Target類,則不能擴展Adaptee等其他類,因此Adaptee應該是一個接口,所有調用都應該從適配器委派給Adaptee對象。
相關問題
- 1. 什麼是「垃圾適配器模式」?
- 2. 什麼是適配器對象模式?
- 3. 適配器模式適配器應使用什麼類名稱?
- 4. 什麼是Atypon適配器?
- 5. 什麼是適配器?
- 6. 適配器設計模式的需求是什麼?
- 7. 適配器模式
- 8. 適配器模式
- 9. 適配器模式:類適配器與對象適配器
- 10. 什麼是雙向堆?
- 11. 爲什麼AngularJS中的雙向數據綁定是反模式?
- 12. 什麼是中介適配器?
- 13. 什麼是虛擬適配器
- 14. 什麼是使定義適配器
- 15. bean對象的適配器是什麼?
- 16. 什麼是「雙箱式過濾器」?
- 17. 瞭解適配器模式
- 18. 擴展適配器模式
- 19. 實現適配器模式
- 20. 適配器模式實現
- 21. 墊片和立面/適配器模式有什麼區別?
- 22. 我們什麼時候需要適配器模式?
- 23. 擴展對象模式和適配器模式有什麼區別?
- 24. 這適用於適配器模式嗎?
- 25. 適配器和代理模式之間的確切區別是什麼?
- 26. 在Android上使用適配器的最佳方式是什麼?
- 27. 面向嵌入式系統的適配器模式
- 28. 對象適配器模式和類適配器模式之間的區別
- 29. 什麼時候適合使用雙向關聯,什麼時候不適用?
- 30. 什麼是Rust中模式的定義,什麼是模式匹配?
這是功課? –
:)不,不是。這不是一項家庭作業,我準備面試,雖然我瞭解適配器模式,但我並不瞭解雙向適配器的使用方法。我提到了C++,因爲本書中的例子都在我不知道的Smalltalk中。 – Priyanka
但本書中的示例全部使用C++或Smalltalk。爲什麼不看看GoF給出的代碼?還是在Smalltalk中給出的那個?對不起,我沒有我的文字在這裏檢查。 – duffymo