设计模式 - 桥接模式

定义:

将实现和抽象解耦,从而达到抽象和实现可以各自演变

说人话:

如果一个抽象的子类有多种维度的演变方式,比如“人”作为抽象,它可以由性别、人种、年龄等等维度的演变,以至于我们用常规方法定义子类会产生大量的子类,比如“男人”,“女人”,“黄种人”,“黑种人”,“白种人”,“儿童”,“少年”,“青年”,“中年”,“老年”,甚至“白种中年男人”这样的类。这对编程人员来说这将是一个灾难。

  于是设计大师设计了这么个桥接模式。但是这个模式很有可能是个伪模式,它在形式上同策略模式没有任何区别。

   他们的用处也许就是告诉你当你遇到多维度演变问题时,你可以把子类行为化,从而求助策略模式。下面我们看上面的问题怎么解决。

通过将各个维度变量引起的变化抽象成一个实现接口(肤色实现器或者眉眼间距实现器),那么我们就可以将变化维度从抽象中剥离。

通过上图我们可以看到,UML结构同策略模式一模一样。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值