Bridge模式

定义:将抽象与其实现解耦,使它们都可以独立地变化。这里的实现是指抽象类及其派生类用来实现自己的对象。

意图:将一组实现与另一组使用它们的对象分离。

问题:一个抽象类的派生类必须使用多个实现,但不能出现类数量爆炸性增长。

解决方案:为所有实现定义一个接口,供抽象类的所有派生类使用。

参与者与协作者:Abstraction为要实现的对象定义接口,Implementor为具体的实现类定义接口。Abstraction的派生类使用Implementor的派生类,却无需知道自己具体使用哪一个ConcreteImplementor。

效果:实现与使用实现的对象解耦,提供了可扩展性,客户对象无需操心实现问题。

实现:1、将实现封装在一个抽象类中。2、在要实现的抽象的基类中包含一个实现的句柄。

结构图:

 

你可能感兴趣的:(设计模式)