如需要开发一个跨平台视频播放器,可以在不同的操作平台上播放多种格式的视频文件。对于这种多维度变化的系统,我们可以利用桥接模式提供一套完整的解决方案,降低系统复杂性。
部分参考代码:
抽象类OperatingSystemVersion,与VideoFile接口之间存在关联关系,也就是说在OperatingSystemVersion以及其子类中可以调用在VideoFile接口中定义的方法。
public abstract class OperatingSystemVersion {
protected VideoFile videofile;
public void setVideoFile(VideoFile videofilee)
{
this.videofile=videofilee;
}
public abstract void play(String fileName);
}
VideoFile类是实现接口类,它位于桥接模式的抽象层。
public interface VideoFile {
void decode(String osType,String fileName);
}
WindowsVersion是OperatingSystemVersion的子类
public class WindowsVersion extends OperatingSystemVersion{
public void play(String fileName)
{
String SystemVersion="在Windows系统上运行";
this.videofile.decode(SystemVersion,fileName);
}
}
MPEGFile是实现VideoFile接口的具体类。
public class MPEGFile implements VideoFile{
public void decode(String osType,String fileName)
{
System.out.println(osType+"MPEG格式"+fileName+".");
}
}
客户端测试类
public class Client {
public static void main(String[] args) {
OperatingSystemVersion systemm;
VideoFile videofile;
videofile=(VideoFile)XMLUtil.getBean("videofile");
systemm=(OperatingSystemVersion)XMLUtil.getBean("system");
systemm.setVideoFile(videofile);
systemm.play("视频《国庆70周年阅兵》");
}
}