在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