学习设计模式——桥接模式
1. 认识桥接模式 1. 定义:将抽象与实现分离,使它们可以独立变化。用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。也就是说,通常我们会首先定义一个抽象化接口,然后再创建一个具体实现类继承该接口,完成具体的功能实现。但是使用桥接后,我们会将这两部分隔离,具体的功能实现类的一套接口以及实现类,以及定义所需功能的抽象类以及抽象实现类。抽象类定义所需功能,抽象实现类继承抽象类,并且将功能实现类对象作为域对象,然后再抽象类定义的所需方法接口中调用功能实现类对象的方法。 2. 模式的组成结构: 抽象化(Abstraction)角色:定义抽象类,并包含一个对具体实现对象的引用。 扩展抽象化(Refined Abstraction)角色:是抽象化角色的子类,实现父类中的业务方法,并通过组合关系调用具体实现角色中的业务方法。 具体实现(Implementor)角色接口:定义具体实现角色的接口,接口中实现的功能是原本应该在扩展抽象化类中实现的,但独立出来通过组合关系供扩展抽象化角色调用。 具体实现(Concrete Implementor)角色:给出具体实现角色接口的具体实现。 3. 参考代码实现: public class BridgeTest { public static void main(String[] args) { Implementor imple