Bridge模式的概念
Bridge模式是构造型的设计模式之一。Bridge模式基于类的最小设计原则,通过使用封装,聚合以及继承
等行为来让不同的类承担不同的责任。它的主要特点是把抽象abstraction与行为实现implementation分离
开来,从而可以保持各部分的独立性以及应对它们的功能扩展。
Bridge模式的应用场景
面向对象的程序设计里有类继承的概念,如果一个类或接口有多个具体实现子类,如果这些子类具有
以下特性:
存在相对并列的子类属性。
存在概念上的交叉。
可变性。
我们就可以用Bridge模式来对其进行抽象和具体,对相关类进行重构。
Bridge模式的类图描述
Client
Bridge模式的使用者
Abstraction
抽象类接口(接口或抽象类)
维护对行为实现(Implementor)的引用
Refined Abstraction
Abstraction子类
Implementor
行为实现类接口 (Abstraction接口定义了基于Implementor接口的更高层次的操作)
ConcreteImplementor
Implementor子类
Bridge模式的应用范例
我们来看看怎么应用Bridge模式来设计汽车类。
抽象 - Abstraction类:汽车类及其子类:
Car:汽车总类
Truck:汽车子类 - 卡车类。
Bus:汽车子类 - 公交车类。
行为实现 - Implementor:汽车引擎设置的行为类及子类
SetCarEngine:汽车引擎的设置接口
SetCarEngine1500cc:设置1500cc引擎
SetCarEngine2000cc:设置2000cc引擎
Client类:使用Bridge模式
Client:测试
代码:略