桥接模式

来源:互联网 发布:microsoftoutlook mac 编辑:程序博客网 时间:2024/05/21 20:25

当一个对象受多个因素变化影响时,可以将这些因素抽象出来(也可以留一个作为主类)。对每个因素抽象一个抽象类,然后在一个主类中,对每个抽象类拥有一个指针。通过这个指针来变化没个因素。
比如,一支笔(CPen)有尺寸和颜色两个因素,我们可以把颜色抽象出来成(CColor),然后在CPen中有一个CColor的指针pColor,这样当颜色因素变动时,我们只需要变化pColor就可以了。

本质上是,一个对象有多个因素,此时是可以通过多继承(继承每个因素)来实现的,但这样一来,当每个因素变化时,我都需要重新生成一个类来继承变化后因素生成的类。这样两个变化就耦合了。用桥接的方法即是将继承变化为组合,通过指针族来控制这些变化。



0 0