结构型模式之桥接模式(跨平台视频播放器)
来源:互联网 发布:数据库监控 开源 编辑:程序博客网 时间:2024/06/13 09:46
题目:如果需要开发一个跨平台视频播放器,可以在不同操作系统平台(如 Windows、Linux、Unix等)上播放多种格式的视频文件,如MPEG、RMVB、AVI、WMV等常见视频格式。现使用桥接模式设计该播放器。
类图
代码
package 桥接模式实例之跨平台视频播放器;public class AVIFile implements VideoFile {public void decode(String osType, String fileName) {System.out.println("操作系统:"+osType+"文件名称:"+fileName);}}
package 桥接模式实例之跨平台视频播放器;public class WMVFile implements VideoFile {public void decode(String osType, String fileName) {System.out.println("操作系统:"+osType+"文件名称:"+fileName);}}
package 桥接模式实例之跨平台视频播放器;public class MPEGFile implements VideoFile {public void decode(String osType, String fileName) {System.out.println("操作系统:"+osType+"文件名称:"+fileName);}}
package 桥接模式实例之跨平台视频播放器;public class RMVBFile implements VideoFile {public void decode(String osType, String fileName) {System.out.println("操作系统:"+osType+"文件名称:"+fileName);}}
package 桥接模式实例之跨平台视频播放器;public interface VideoFile {public void decode(String osType, String fileName);}
package 桥接模式实例之跨平台视频播放器;public abstract class OperatingSystemVersion {protected VideoFile vf;public void setVideo(VideoFile vf) {this.vf = vf;}public abstract void play(String fileName);}
package 桥接模式实例之跨平台视频播放器;public class LinuxVersion extends OperatingSystemVersion {public void play(String fileName) {String osType = "Linux播放";this.vf.decode(osType,fileName);}}
package 桥接模式实例之跨平台视频播放器;public class UnixVersion extends OperatingSystemVersion {public void play(String fileName) {String osType = "Unix播放";this.vf.decode(osType,fileName);}}
package 桥接模式实例之跨平台视频播放器;public class WindowsVersion extends OperatingSystemVersion {public void play(String fileName) {String osType = "Windows播放";this.vf.decode(osType,fileName);}}
package 桥接模式实例之跨平台视频播放器;public class Client {public static void main(String args[]) {VideoFile vf;OperatingSystemVersion osType1 = new WindowsVersion();vf = new AVIFile();osType1.setVideo(vf);osType1.play("AVI");OperatingSystemVersion osType2 = new LinuxVersion();vf = new AVIFile();osType2.setVideo(vf);osType2.play("AVI");OperatingSystemVersion osType3 = new UnixVersion();vf = new AVIFile();osType3.setVideo(vf);osType3.play("AVI");}}运行效果图
0 0
- 结构型模式之桥接模式(跨平台视频播放器)
- 结构型模式之桥接模式
- 结构型模式之桥接模式
- 结构型模式之桥接模式
- 结构型模式之桥接模式
- java设计模式(结构型)之桥接模式
- 结构型模式之桥接模式(Bridge)
- 结构型:设计模式之桥接模式(七)
- 结构型模式之桥接模式(Bridge)
- 设计模式之结构型-桥接模式(10)
- 设计模式之桥接模式(Bridge)之三(典型结构图) 结构型模式
- 【结构型模式】桥接模式(Bridge)之23种java设计模式
- Java设计模式概述之结构型模式(桥接模式)
- Java设计模式之结构型模式-桥接模式(Bridge)
- 结构型模式之装饰器模式
- 设计模式(结构型)之桥接模式(Bridge Pattern)
- 设计模式-结构型之桥接模式
- 结构型模式之二——桥接模式
- 常用iOS、Mac框架和库及常用中文开发博客
- edditText正则限制特殊符号输入
- 鸟哥的Linux私房菜.基础学习篇(第三版)——互动出版网
- InputManager 的启动过程
- ListView 选中条目样式改变
- 结构型模式之桥接模式(跨平台视频播放器)
- TI DSP TMS320C66x学习笔记之TI官方读BMP程序(一)
- buttons.css——可以与bootstrap融合的按钮样式库
- MPI并行编程基础小结(window下搭建MPI环境,vs配置mpi)
- 06 最近做的一个播客站点, 请大家没事的时候'玩儿'一下
- Cocos2d-js中Chipmunk引擎
- 7个高性能JavaScript代码高亮插件
- Sql 死锁 杀死死锁进程
- 启动tomcat报错:at org.apache.jsp.login_jsp._jspInit(login_jsp.java:27