文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C++设计模式之Bridge模式

C++设计模式之Bridge模式

时间:2011-01-17  来源:chainchan

 

二、结构图

 

三、示例代码

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) ; //第二种实现方法
}

 

四、实例

  (1)创建可以在X Window System和IBM的Presentation Manager系统中都可以使用的窗口。(书上的例子) 


 Bridge的魅力在于抽象和实现之间是松散的关系,它们之间可以进行随意组合。如上图中,就有IconWindow+XWindowImp、TransientWindow+XWindowImp、IconWindow+PMWindowImp、TransientWindow+PMWindowImp四种组合。

相关阅读 更多 +
排行榜 更多 +
僵尸运行3d城市逃生

僵尸运行3d城市逃生

冒险解谜 下载
顶尖猎人罗迪和凯茜

顶尖猎人罗迪和凯茜

冒险解谜 下载
火柴人飞爪忍者

火柴人飞爪忍者

冒险解谜 下载