桥梁Bridge模式


桥梁Bridge模式
文章图片
桥梁模式的用意:应用桥梁模式是为了将底层的实现与应用这些实现的抽象化对象分离 , 从而使两者可以独立地变化 。 这里面比较难理解的是:桥梁模式的抽象化与实现化并不单指继承关系中的抽象角色和具体实现角色 , 抽象化角色可以与实现化角色是组合/聚合的关系 , 抽象化角色委派实现化角色去完成特定的功能 。
桥梁模式体现的设计原则:桥梁模式对抽象和实现进行解耦体现了“开-闭”原则和“合成/聚合复用”原则 。
桥梁模式的四个角色:抽象化角色 , 修正抽象化角色 , 实现化角色 , 实现化角色定义了底层操作的一组接口 , 具体实现化角色 , 具体实现化角色实现了实现化角色的接口 。
桥梁模式的结构:桥梁模式包含了两个等级结构 , 一个是抽象化角色和修正抽象化角色组成的等级结构 , 一个是实现化角色和具体实现化角色组成的等级结构 。 抽象化角色包含了实现化角色的一个引用 , 抽象化角色的操作应当是基于实现化角色的操作之上的更高一层的操作 , 也就是说抽象化角色通过对实现化角色的底层操作的组合使用完成特定的功能 。
桥梁模式的优点是:使类的职责更加单一 , 使用的类的个数也可以减少 , 便于系统的维护 , 并且通过使用组合而不是继承实现了抽象与实现之间的动态绑定 , 增加了系统的灵活性 。
【桥梁Bridge模式】桥梁模式的应用场景:当系统遇到两种可变化的因素时可以考虑使用桥梁模式 , 例如画图程序 , 画图的形状是一种变化 , 画图的方法也是一种变化 , 这时可以把图的形状作为抽象化角色 , 画图的方法作为实现化角色 。 再例如制造汽车 , 汽车的种类有很多种 , 如卡车 , 轿车等 , 制造汽车的厂商也有多个 , 这样可以将制造汽车的厂商作为抽象化角色 , 制造汽车的种类作为实现化角色 , 不同的厂商通过对汽车种类的引用制造不同类型的汽车 。