1 桥接模式讲解
1.1 类型:
1.2 定义:
1.3 适用场景:
1.4 优点:
1.5 缺点:
1.6 与其他设计模式关系:
1 桥接模式讲解
1.1 类型:
结构型
1.2 定义:
◆定义:将抽象部分与它的具体实现部分分离,使它们都可以独立地变化
◆合成复用原则中提到:优先通过组合的方式建立两个类之间联系,而不是继承,继承过多会发生类爆炸的情况
1.3 适用场景:
◆a 抽象和具体实现之间增加更多的灵活性
适用桥接模式可以避免两个层次之间建立静态的继承关系,通过桥接模式使他们之间建立一种关联关系,
抽象部分和具体实现部分它们都可以通过继承的方式独立的扩展,并且互不影响,就可以动态的将一个抽象化子类的对象和一个实现化的子类对象,进行组合。
这样我们抽象化的角色和实现化的对象就实现了解耦
◆b 一个类存在两个(或多个)独立变化的维度,且这两个(或多个)维度都需要独立进行扩展
◆c 不希望使用继承,或因为多层继承导致系统类的个数剧增
1.4 优点:
◆a 分离抽象部分及其具体实现部分
桥接模式使用了组合,也就是说使用对象与对象之间的关系,来解耦了抽象和实现之间的固有的绑定关系,使抽象和实现可以沿着各自的维度去变化来扩展。
抽象和实现不再在一个继承的层次中,从而通过组合获得多维度的组合对象
◆b 提高了系统的可扩展性
扩展抽象或者实现任意一个维度,都不需要改变原有系统,自然提高了系统的可扩展性
◆c 符合开闭原则
◆d 符合合成复用原则
1.5 缺点:
◆增加了系统的理解与设计难度
◆需要正确地识别出系统中两个独立变化的维度
1.6 与其他设计模式关系:
桥接模式和组合模式:
组合模式更强调部分和整体间的组合,桥接模式强调的是平行级别上不同类的组合。
桥接模式和适配器模式:
共同点:都是为了让两个类配合工作。
不同点:目的不同,适配器是改变已有的接口,让它们之间可以相互配合;桥接模式是分离抽象和具体的实现,目的是分离。
适配器模式可以把功能上相似,但是接口不同的类适配起来,桥接模式是把类的抽象和类的具体实现分离,在此基础上使这些层次结构结合起来