7.Bridge(桥接模式)
Bridge(桥接模式)
用于将抽象化与实现解耦,使得二者可以独立的变化。
适用情况:
1.为了避免固定的绑定一个属性及其实现,即避免在抽象化角色和实现化角色间建立静态的联系。特别是其实现在运行期需要灵活选择或切换的时候。
2.属性及其实现在派生类中需要扩充,即抽象化角色和实现化角色需要独立的变化。例如:可以对不同的抽象接口和实现部分进行组合,并分别对他们进行独立的扩充。
3.改变一个属性的实现对使用者不产生影响,他的程序也无须重新编译。即实现化角色变化不影响客户端。
结构:
1.抽象化(CAbstraction):定义抽象化基类的接口。保存并维护对一个实现对象的引用。
2.修正抽象化(CRefinedAbstraction):扩充抽象化角色,调整和修正基类对抽象化的定义。
3.实现化:(CImplementor):定义实现基类的接口。这个接口无需一一对应抽象化基类的接口,事实上这两个接口可以完全不同。一般而言实现化角色的接口提供的只是底层的操作,而抽象化角色定义的是依据底层操作所构成的更高一层的操作。
4.具体实现化(CConcreteImplementor):负责完成实现化积累接口的具体实现。
。。。。。。
浙公网安备 33010602011771号