今天我们来聊一聊,设计模式中的结构型的桥接模式,该模式最大特点就是将抽象和实现分离,避免一个类包含太多属性和行为导致代码的扩展性变差后期维护难度加大!
接下来到了代码演示,本案例用的是两个不同牌子(华为和苏宁)充电接口来演示桥接模式
定义一个USB接口,创建一个充电的方法和一个传输数据的方法
创建两个USB的接口实现类,去将具体的功能实现,这里作为行为是实现层
创建一个抽象的品牌类,将接口聚合到抽象类中,再定义两个抽象方法用于子类实现
下面两个就是具体的品牌实现类,这是一个抽象层的实现,将行为的接口聚合进来就可以对外屏蔽实现细节,功能丝毫不影响
结果也是符合预期的,桥接模式将实现层与抽象层分离,有效防止类中定义过多的属性与方法,导致类不仅写的麻烦而且扩展性也差。实现与抽象的分离,后期如果需要添加其他品牌或接口类型只需实现对应的接口扩展就可以了,十分方便,极大提高系统的灵活性!当然缺点也是有的由于加入抽象层的编写,造成代码设计和编写难度增加和复杂,这也是必然的,抽象的东西都是难以一时接受的。
最后,今天是中秋节,祝大家节日快乐!????