桥接模式理解

 

                   最近上班轻松,看看设计模式啥的,看到桥接模式,有些心得,写下来以便以后回忆回忆。

 

  桥接模式的好处就不多说了,无非就是实现和抽象分离,各自变化等。

 

进入主题吧:

个人理解桥接模式:

比如蜡笔,和毛笔这两个东西,如果用蜡笔画画,我们知道蜡笔的颜色和蜡笔本身是偶会在一起的,不像毛笔,毛笔本身是没有颜色的,如果我要画画,需要12种颜色,型号有大中小,那么就需要36支蜡笔,而反观毛笔,我只需要12种颜料,然后大中小三种毛笔类型,如果我们用面向对象思想来设计,那么蜡笔需要36个类,而毛笔只需要15个类。为什么会出现这种情况呢?

 

 

其实这个道理很简单,就是毛笔它的颜色没有和它本身绑定在一起,也就是说它们解耦了。

 

如果毛笔和颜色绑定了那么就如图所示:



 

从这里看,我们看到有36个类,如果用桥接模式就变成如下图了:



 

 

可以明显看到类减少了。

 

体会:其实说白了,就是将类的功能职责最小话,即单一职责。我们这里就是抽取了笔中,颜

 

色这个维度进行抽象.然后利用组合,也符合了面向对象设计思想的优先使用组合而非继承这个

 

 

思想。当一个类的子类需要扩展时,如果要在两个维度进行扩展,那么就可以使用Bridge模式。

 

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值