思想:将算法进行抽象,然后使用桥接的模式使用算法的抽象接口,达到算法整体替换的目的
理解:和桥接模式相同,只是桥接的两边分开的思想不同
例子:
class Algrithm //算法的抽象
{
public:
virtual void algrithm() = 0;
};
class AlgrithmA: public Algrithm
{
public:
void algrithm()
{
cout << "AlgrithmA" << endl;
}
};
class AlgrithmB: public Algrithm
{
public:
void algrithm()
{
cout << "AlgrithmB" << endl;
}
};
class Content
{
Algrithm* pAlgrithm; //桥接模式
public:
Content(Algrithm* pAlgrithm)
{
this->pAlgrithm = pAlgrithm;
}
void done()
{
this->pAlgrithm->algrithm();
}
};
int main()
{
Content t1(new AlgrithmA());
t1.done();
Content t2(new AlgrithmB());
t2.done();
return 0;
}