Java设计模式之代理模式
来源:互联网 发布:抓包分析软件 编辑:程序博客网 时间:2024/05/19 20:38
1.代理模式的介绍
我是这么理解代理模式的:大熊突然收到短信说快递到了,但是他现在正在写作业没时间去拿快递,所以他只好委托哆啦A梦帮忙他去拿快递。在这个过程中共出现了代理模式的三个角色,主题接口----即拿快递,是大熊委托哆啦A梦要做的事;真实主题----大熊,想要去拿快递但没时间;代理类----哆啦A梦,真正做事的人。
2.代理模式的结构
角色作用主题接口定义代理类和真实主题的公共对外方法,也是代理类代理真实主题的方法真实主题真正实现业务逻辑的类代理类用来代理和封装真实主题Main客户端,使用代理类和主题接口完成一些工作
3.代理模式的实现
基于以上设计,IEMSRequest实现如下
public interface IEMSRequest{public String request();}
EMSRequest实现如下,它是一个重量级对象,构造会比较慢。
public EMSRequest implements IEMSRequest{public EMSRequest(){try{Thread.sleep(1000);}catch(Exception e){e.printStackTrace();}}@Overridepublic String request(){return "request string";}}
代理类EMSRequestProxy是轻量级对象,创建很快,用于代替EMSRequest的位置。
public EMSRequestProxy implements IEMSRequest{private EMSRequest real = null;@Overridepublic string request(){//在真正需要的时候,才创建真实独享,创建过程可能很慢if(real == null){real = new EMSRequest();}return real.request();}}
最后,主函数中,他引用IEMSRequest接口,并使用代理类工作。
public class Main{public static void main(String[] args){IEMSRequest q = new EMSRequestProxy();q.request();}}
这就是整个代理模式的介绍。
0 0
- Java设计模式之代理设计模式
- Java设计模式之代理
- Java设计模式之代理
- java设计模式之代理
- java之代理设计模式
- java之代理设计模式
- Java设计模式之代理模式
- Java设计模式之计数代理模式
- JAVA设计模式之代理模式
- JAVA设计模式之代理模式
- java设计模式之代理模式
- Java 设计模式 之 代理模式
- java设计模式之代理模式Proxy
- 设计模式之代理模式 java (1)
- java设计模式之代理模式
- java设计模式之静态代理模式
- Java:设计模式之代理模式Proxy
- java设计模式之代理模式
- MVC和MVP
- OpenGL Programming Guide- Red Book 例子程序库 -系列- 1-Introduction to OpenGL-Part1
- [LeetCode]Search a 2D Matrix
- 父类指针向子类指针的强制类型转换
- 编程珠玑中关于二分查找的使用
- Java设计模式之代理模式
- 如何让优秀的程序员更进一步
- 技术网站网站推荐
- 80X86寄存器介绍
- 手机病毒满10年 高风险移动app突破二百万
- 让人心动的jQuery插件和HTML5动画
- Listview动态加载数据
- win7桌面上的文档编辑后,会改变位置处理办法
- 程序员实现自我的10大方法