常用设计模式总结--代理模式
来源:互联网 发布:ubuntu查看目录 编辑:程序博客网 时间:2024/05/16 06:56
代理模式就不废话了,这个模式在生活中很常见,打官司、租房子的都需要找个专业的人来替你处理不擅长的事。
鉴于这个模式太常见,我觉得就不用废话,画图啥的统统免了吧,直接上代码
父类
package zl.study.designpattern.proxy;public interface Graphic {public void render();public void store();public void load();public void resize();}
子类
package zl.study.designpattern.proxy;public class Image implements Graphic{protected int width,length;private String file;public Image(String file){this.file = file;}@Overridepublic void load() {this.width = 4;this.length = 8;}@Overridepublic void render() {long start = System.currentTimeMillis();try{Thread.sleep(100);}catch(Exception e){;}long end = System.currentTimeMillis();System.out.println("this operation elapse:"+ (end -start));}@Overridepublic void resize() {}@Overridepublic void store() {System.out.println(width +""+ length);}}
代理
package zl.study.designpattern.proxy;public class ImageProxy implements Graphic{private int width,length;private Image image;private String file;public ImageProxy(String file){this.file = file;}@Overridepublic void load() {if( null == image){image = new Image( file);}this.length = image.width;this.width = image.width;}@Overridepublic void render() {image.length = length;image.width = width;image.render();}@Overridepublic void resize() {width *= 2;length *=2;}@Overridepublic void store() {image.length = length;image.width = width;}}
测试类
package zl.study.designpattern.proxy.test;import zl.study.designpattern.proxy.Graphic;import zl.study.designpattern.proxy.ImageProxy;public class ProxyTest {public static void main(String args[]){String fileName = "ha.txt";Graphic image = new ImageProxy(fileName);image.load();image.resize();image.render();}}
- 常用设计模式总结--代理模式
- 常用设计模式-代理模式
- 常用设计模式---代理模式
- 常用的设计模式之代理模式
- Java 常用设计模式-代理模式Proxy
- 常用设计模式总结
- 常用设计模式总结
- 常用设计模式总结
- 常用设计模式总结
- 常用设计模式总结
- 常用设计模式总结
- 设计模式学习总结之代理模式
- java设计模式总结八:代理模式
- 设计模式--【代理模式】
- 设计模式:代理模式
- 设计模式--代理模式
- 设计模式---代理模式
- 设计模式-代理模式
- Android应用程序线程消息循环模型分析
- HttpURLConnection用法详解
- Struts2自定义类型转换器
- 初学Java,包的用法(九)
- session自动退出登录问题
- 常用设计模式总结--代理模式
- 简单干净的C#方法设计案例:SFCUI.AjaxValue()之一
- Oracle Flashback 闪回—闪回查询(1)
- Ruby之父松本行弘:编程是可以干一辈子的
- 一道google算法题
- 卓越用户体验的5个共同点
- 网页input智能语音识别输入功能
- using 语句 (C#)
- 常见web技术之间的关系