【桥接模式】
桥接模式,又称桥梁模式,或是柄体模式或接口模式。可将抽象部分与它的具体实现部分分离,使它们都可以独立地变化组合。桥接模式的主要目的是通过组合的方式建立两个类之间的联系,而不是继承,是比多重继承更好的替代方案,核心在于用组合/聚合的方式共享一些能用的方法,解耦抽象和实现。
结构:
- 抽象类(Abstraction):一般是抽象类而不是接口,包含一个对实现化对象的引用,抽象类中的方法需要实现类(Implementor)来实现,它可以包含抽象的业务方法,还可以包含具体的业务方法。
- 扩充抽象类(Refined Abstraction):是抽象类的子类(具体实现),完善和扩充抽象类定义的方法,一般不再是抽象类而是具体类,它实现父类中的业务方法,并通过组合关系调用实现类(Implementor)中的业务方法,通过关联关系来代替继承关系。
- 实现类(Implementor):一般为接口或者抽象类,定义实现类的接口,供扩充抽象类(Refined Abstraction)调用,这个接口不一定要与抽象类的接口一致。
- 具体实现类(Concrete Implementor):实现类(Implementor)的具体实现,代替其父类对象,提供给客户端具体的业务操作方法。