学习设计模式-桥接模式
说明:将抽象部分(多种变化)与它的实现(多种变化)部分分离,使它们都可以独立的变化。(当多角度去实现抽象类时,如果通过继承,会造成大量的类增加,此时需要用桥接模式。)
需求:手机品牌跟手机软件,不同品牌手机有多个软件。一个品牌手机有通讯录软件、播放音乐软件,还有其他等软件;另一个品牌有播放音乐软件和打电话软件。
解决方式:
a. 分别定义抽象类(品牌手机)、实现类(品牌手机软件),其中抽象类、实现类聚合关系;
b. 定义具体抽象类(手机1),具体实现类(软件1);
c. 客户端调用实例化手机1和软件1,将软件1注入给手机1,通过手机1调用软件1的操作。
需求变更:
新增一个品牌手机2、新增一个品牌手机2软件2
解决方式:
定义具体抽象类2(品牌手机2)
定义具体实现类2(品牌手机2软件2)
类图: