Bridge(桥接)---对象结构型模式

本文针对桥接模式的应用提出疑问,并对比分析桥接模式与策略模式的适用场景。通过对两篇文章的深入解读,作者表达了对桥接模式理解上的不同观点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在读本文之前,请先阅读如下文章
第一篇 http://linshiquan.iteye.com/blog/1036064

第二篇 http://www.jdon.com/designpatterns/bridge.htm

对于第一篇,我给出如下疑问?
1,“1.派生类是完全不同逻辑的类,四边形和圆
2.两种画法
意思是
画四边形会分别用到两种画法里面的drawLine
画圆会用到两种画法的drawCricle ”

画四边形用到两种画法里面的drawLine,竟然四边形只用到drawLine方法,为什么不放在四边形类中,而非要放在作者定义的
V1Drawing,V2Drawing。你就是直接把这两个方法放在一个类中也比放在两个类中强 。作者意思如果今后想画V3Drawing那么我还需要建立一个3D的类?
这里我不继续讨论对模式的误解,留给自己慢慢分析。
难道我只想要2D时 还需要带着1D的实现吗?

对于第二篇文章,个人认为例子举出的非常好,很形象的说明了Bridge模式的真正功用。但对bridge的描述上有一些问题。
而上面的例子很好的实现了,当我只需要大杯时,在我的类中将小杯类去掉即可。
“将抽象和行为划分开来,各自独立,但能动态的结合。”我觉得更应该是 将抽象属性(不是一般意义上的属性,例如车具有车轮属性。这所说的属性具有抽象的意义,如杯子的形状,有大有小,当一件具有杯子属性的对象出现时,便应该使用bridge模式,抽象属性和行为之间的关系重叠的越到越能发挥bridge的优势。) 和行为划分开来。

如果是为了将行为区分开来,我觉得更适合用策略模式。

个人见解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值