桥接模式学习总结

 

意图:将抽象部分与它的实现部分分离,使它们都可以独立地变化。将一组实现部分从另外一组使用它们的对象中分离出来。

问题: 一个抽象类的派生类必须使用多种实现部分,但不能够引起数量上的爆炸。

解决方案:为所有的实现部分定义一个接口,让抽象类的所有派生类都使用找个接口。

参与者与协作者 Abstraction为正在实现的对象定义接口。Implementor为特定的实现部分类定义接口。Abstraction的派生类使用Implementor的派生类,而不必知道子集使用的特定ConcreteImplementor

效果:“实现部分与使用它的对象的分离”增加了灵活性,客户对象不需要了解实现问题。

实现:将实现部分风装在一个抽象类中。在被实现的抽象部分基类中包含一个实现部分基类的句柄。

适用范围:

在创建设计以处理变化的过程中,应该遵循两条基本策略:

(1)       发现并封装变化点。

(2)       优先使用对象组合,而不是类继承。

意图:可以在独立的类中包含变化点,从而使未来的变化不会影响现在的代码。将所有的变化点都包含在自己的抽象类中,然后观察抽象类彼此之间如何发生关联。

设计过程:

(1)       识别出“什么发生变化”。

(2)       描述出现的特定变化。

 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值