设计模式之六--桥接模式

惯例,先贴一个他人的分享,我觉得说得很好
清风baron–桥接模式和适配器模式的区别

然后,我们再说说桥接模式。依然用动物园作为类比:
众所周知,德云社有一条狗,老郭的,老郭吧,会让徒弟喂狗。徒弟有很多个:孙越和小岳岳。喂的方式也有好几种:直接喂,嘴对嘴喂,用手喂,用盆喂。
这时候,园长发话了(老郭?):小岳岳,去嘴对嘴喂一下,让他们见见世面。

普通实现:

if(徒弟==小岳岳)
		饲养员==小岳岳
		if(方式==嘴对嘴)
			饲养员.嘴对嘴(也就是小岳岳嘴对嘴喂了一次狗)

桥接实现:
首先定义一个接口,是饲养员接口,有很多个实现,小岳岳是其中一个实现。喂狗方式类似,一个接口,四种实现。那么过程就变成了这样:

new  小岳岳(嘴对嘴);
	 小岳岳.喂狗(请注意中间这个小点);

然后,完成了。是不是很优雅??

拓展1:看完上面的说明,是不是想到了什么?请回想一下前几篇提到的----工厂模式和建造者模式。如果能结合,那么获得小岳岳的过程就会更加优雅。

拓展2:把一类对象抽象出来,是什么行为?请回忆一下我没说过的java设计原则之一,依赖倒置。

本篇完。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值