您的位置:首页 > 其它

设计模式学习笔记-bridge

2008-05-03 22:17 579 查看
1.意图:将抽象部分与实现部分分离,使它们都可以独立的变化。

理解为:这句话中的抽象与实现并不是指OO中的抽象类与子类实现,而是说“将一个事物中多个维度的变化分离”。

该句中的抽象部分与实现部分分离,可以联想李建忠老师的TANK和PlatformImplementation例子。

2. 要点:

a.组合:

bridge使用“对象间的组合关系”解耦了抽象和实现之间固有的绑定关系。使得抽象(TANK型号)和实现(不同的平台)可以沿着各自的维度来变化。

依据:组合优于继承。

比如,TANK抽象类中,通过构造方法来注入平台实现。

b.子类化:

什么叫抽象和实现沿着各自维度来变化呢?——子类化。

所谓抽象与实现沿着各自维度来变化,即“子类化”它们。比如说不同的TANK型号和不同的平台子类。得到各个子类之后,就可以任意组合它们,从而得到不同平台上的不同型号。

c.类似于多继承方案,但优于多继承。

d.应在“有两个非常强的变化维度”的时候应用BRIDGE。

有时候即使有两个变化维度,但其中一个维度的变化并不强烈时,两个变化不会导致纵横交错的结果,则不一定要用BRIDGE。

e.BRIDGE支持N个维度的变化。

多个维度就组合多个实现就OK了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: