一、功能
将抽象部分与它的实现部分分离,使它们都可以独立地变化。
二、示例代码
namespace DesignPattern_Bridge { // class Implementor class Implementor { public: virtual void OperationImp() = 0 ; } ; // class ConcreteImplementorA class ConcreteImplementorA : public Implementor { public: virtual void OperationImp() {} } ; // class ConcreteImplementorB class ConcreteImplementorB : public Implementor { public: virtual void OperationImp() {} } ; // class Abstraction class Abstraction { public: void Operation(Implementor* imp) { assert(imp) ; imp->OperationImp() ; } } ; } 客户端代码: { using namespace DesignPattern_Bridge ; Abstraction obj ; Implementor *impa = new ConcreteImplementorA() ; Implementor *impb = new ConcreteImplementorB() ; obj.Operation(impa) ; //第一种实现方法 obj.Operation(impb) ; //第二种实现方法 }
三、简要分析:
抽象部分是都是通过调用OperationImp()接口,具体实现部分是这个函数的具体行为,不同的子类的OperationImp()实现放在自己类中具体实现,通过这种桥接模式,做到抽象和具体实现分离。

本文详细阐述了桥接模式的概念及其在软件设计中的应用,通过示例代码展示了如何将抽象部分与实现部分分离,使得两者可以独立变化。分析了模式的关键组成部分,并通过客户端代码演示了不同实现方式的运用。
801

被折叠的 条评论
为什么被折叠?



