您的位置:首页 > 其它

设计模式---桥接

2013-12-27 09:46 106 查看
一、功能
将抽象部分与它的实现部分分离,使它们都可以独立地变化。

二、示例代码

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()实现放在自己类中具体实现,通过这种桥接模式,做到抽象和具体实现分离。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: