学习设计模式-桥接模式

来源:互联网 发布:左右声道测试软件 编辑:程序博客网 时间:2024/05/17 09:00

说明:将抽象部分(多种变化)与它的实现(多种变化)部分分离,使它们都可以独立的变化。(当多角度去实现抽象类时,如果通过继承,会造成大量的类增加,此时需要用桥接模式。)

需求:手机品牌跟手机软件,不同品牌手机有多个软件。一个品牌手机有通讯录软件、播放音乐软件,还有其他等软件;另一个品牌有播放音乐软件和打电话软件。

解决方式:

a.      分别定义抽象类(品牌手机)、实现类(品牌手机软件),其中抽象类、实现类聚合关系;

b.      定义具体抽象类(手机1),具体实现类(软件1);

c.      客户端调用实例化手机1和软件1,将软件1注入给手机1,通过手机1调用软件1的操作。

需求变更:

新增一个品牌手机2、新增一个品牌手机2软件2

解决方式:

定义具体抽象类2(品牌手机2)

定义具体实现类2(品牌手机2软件2)

类图:

0 0