1.定义
桥接模式是一种结构型模型,现实生活中桥就是连接在河两端方便通行的建筑。
而桥接模式则是对类的功能层次结构和类的实现层次结构中间实现的一个桥梁。
类的功能层次结构
所谓类的功能层次结构就是对类进行继承后进行的功能扩展,例如Car(车类),所有车都有启动和停止方法以及转弯等方法。但是现在我有一个特殊的车需要在Car车类的基础上加一个倒车影像功能,此时只需要继承Car类再自己的类中加一个倒车影像即可,此时就是类的功能层次结构。
类的实现层次结构
所谓类的实现层次结构就是只进行继承和对方法进行实现。而不新增。例如模板方法模式,在父类中定义方法而子类只需要去实现对应的方法即可,此时就是类的实现层次结构。
所当一个类中不仅存在类的功能层次结构还存在类的实现层次结构的时候,这个类会变得很复杂。
假如有一个汽车类,然后有三个品牌分别是宝马、奥迪、奔驰,而每一个品牌又有三种车分别是跑车、轿车、suv;同时他们的关系都是通过继承来实现的,此时可以看到当需要新增一个类的品牌的时候需要新增多个子类,必须新增捷豹,此时也需要新增跑车、轿车、suv,而新增一个皮卡车的时候可能也需要在奔驰、宝马、奥迪中新增子类。