问题描述
在网上,有很多文章都引用了下图,图中手机对象持有软件接口对象。在《研磨设计模式》中,作者提到桥接模式的桥接方向是单向的。在这个例子中,桥接方向为什么是这样呢?关于该列的桥接方向,我的想法正好与之相反,认为应该是软件对象持有手机接口对象。理由:既然是跨手机品牌的软件,应该是意味着软件是抽象的,软件能适应不同的品牌手机,通过桥接模式解除软件对具体的手机品牌的依赖。请高手帮助分析、指导。
解决方案
解决方案二:
这个讲得太复杂了:桥接器最简单的理解:表示与实现分离。所谓的表示就是类+属性,实现就是方法的具体实现,如三角形有很多属性,还有一个draw方法,一般的时候这个draw方法我们都会在三角形的类里实现,用桥接器模式的话,其他的内容不变,只是这个draw方法的实现由其他专门负责绘制的类提供。看这里,讲得非常容易懂:
解决方案三:
引用1楼Inhibitory的回复:
这个讲得太复杂了:桥接器最简单的理解:表示与实现分离。所谓的表示就是类+属性,实现就是方法的具体实现,如三角形有很多属性,还有一个draw方法,一般的时候这个draw方法我们都会在三角形的类里实现,用桥接器模式的话,其他的内容不变,只是这个draw方法的实现由其他专门负责绘制的类提供。看这里,讲得非常容易懂:
你说的是桥接模式一种表现形式,但桥接模式并不仅指这吧?
解决方案四:
引用1楼Inhibitory的回复:
这个讲得太复杂了:桥接器最简单的理解:表示与实现分离。所谓的表示就是类+属性,实现就是方法的具体实现,如三角形有很多属性,还有一个draw方法,一般的时候这个draw方法我们都会在三角形的类里实现,用桥接器模式的话,其他的内容不变,只是这个draw方法的实现由其他专门负责绘制的类提供。看这里,讲得非常容易懂:
希望针对我的想法给予指导,否则就意味着谁持有谁是无所谓的。
解决方案五:
个人理解:通过桥接,把系统分成抽象和实现两部分。桥接是一种脱藕方式,实现部分封装了系统的某个依赖因素,使得抽象部分与该依赖因素脱藕。由此达到:实现部分可以根据依赖因素变化,抽象部分与该依赖因素无关但可以根据其他依赖因素(可能是多个)变化。若不断桥接,则可以不断地分离依赖因素,系统的灵活性就可以不断提高。(当然这是理想化的)
时间: 2024-09-11 01:59:37