设计模式_模版设计模式概述和使用
2017-04-15 01:09
441 查看
模版设计模式概述 模版方法模式就是定义一个算法的骨架,而将具体的算法延迟到子类中来实现 优点 使用模版方法模式,在定义算法骨架的同时,可以很灵活的实现具体的算法,满足用户灵活多变的需求 缺点 如果算法骨架有修改的话,则需要修改抽象类
package cn.itcast_01;
public class GetTimeDemo {
public static void main(String[] args) {
// GetTime gt = new GetTime();
// System.out.println(gt.getTime() + "毫秒");
GetTime gt = new ForDemo();
System.out.println(gt.getTime() + "毫秒");
gt = new IODemo();
System.out.println(gt.getTime() + "毫秒");
}
}
package cn.itcast_01; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public abstract class GetTime { public long getTime() { long start = System.currentTimeMillis(); // for循环 // for (int x = 0; x < 100000; x++) { // System.out.println(x); // } // 视频 // try { // BufferedInputStream bis = new BufferedInputStream( // new FileInputStream("a.avi")); // BufferedOutputStream bos = new BufferedOutputStream( // new FileOutputStream("b.avi")); // byte[] bys = new byte[1024]; // int len = 0; // while ((len = bis.read(bys)) != -1) { // bos.write(bys, 0, len); // bos.flush(); // } // bos.close(); // bis.close(); // } catch (IOException e) { // e.printStackTrace(); // } // 再给测试代码:集合操作的,多线程操作的,常用API操作的等等... code(); long end = System.currentTimeMillis(); return end - start; } public abstract void code(); }
package cn.itcast_01; public class ForDemo extends GetTime { @Override public void code() { for (int x = 0; x < 100000; x++) { System.out.println(x); } } }
package cn.itcast_01; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class IODemo extends GetTime { @Override public void code() { try { BufferedInputStream bis = new BufferedInputStream( new FileInputStream("a.avi")); BufferedOutputStream bos = new BufferedOutputStream( new FileOutputStream("b.avi")); byte[] bys = new byte[1024]; int len = 0; while ((len = bis.read(bys)) != -1) { bos.write(bys, 0, len); bos.flush(); } bos.close(); bis.close(); } catch (IOException e) { e.printStackTrace(); } } }
相关文章推荐
- 设计模式-模版设计模式概述和使用-抽象类
- 设计模式_装饰模式概述和使用
- 设计模式_Java_简单工厂模式概述和使用
- 设计模式-简单工厂模式概述和使用-接口
- 设计模式_简单工厂模式概述和使用
- 设计模式-装饰模式概述和使用-IO流
- 设计模式_Java_工厂方法模式的概述和使用
- 设计模式_工厂方法模式的概述和使用)
- 设计模式-工厂方法模式的概述和使用-接口
- 27 API-反射(类的加载器,反射的使用,动态代理)&设计模式(装饰设计模式,模版设计模式)&JDK新特性(JDK5,JDK6,JDK7,DK8)
- 使用设计模式改善程序结构(一)
- 使用设计模式构建通用数据库访问类
- 使用设计模式改善程序结构(三)
- 使用设计模式改善程序结构(二)
- 设计模式-旧话重提之类工厂的使用
- 使用设计模式构建通用数据库访问类(转自天极)
- 使用设计模式构建通用数据库访问类
- 怎样使用设计模式
- 使用Dispatch模式设计信息上报审批功能
- 模式与设计模式概述