应用场景
遇到一个类变化的因素有多个。比如一个类要实现登录,音乐播放,画图这三种功能,但是这三种功能的实现依赖于连接,声音处理,图像处理这三种操作,而这三种操作在不同的平台有不同的实现,比如电脑端和手机端。如果把这六个操作放在一个接口中,这种情况下,引起类变化的因素有平台和要要实现的三种主要功能两个纬度的因素。因为登录可以调用连接和声音处理等,音乐播放可以调用声音处理和画图等,不同功能的实现,调用的方法不同,他们可以相互组合,引起类变化的因素为两个。这种情况下需要桥模式。
设计思想
将抽象部分和实现部分(变化)分离开来。定义两个接口。抽象部分接口持有实现部分接口的引用。抽象部分接口调用实现部分接口的方法来实现自己要实现的功能。比如上面场景的三个要实现的功能,登录,播放音乐和画图,这三种定义为一个抽象接口,它的实现类调用不同平台的具体实现方法。来组合不同的功能。