Static Proxy(静态代理)
来源:互联网 发布:ar看车源码 编辑:程序博客网 时间:2024/06/04 18:55
代理模式有两种主题,一种是真实主题(真正做事的),一种是代理主题(真实主题的代理,可以帮助真实主题做一些辅助功能,使得真实主题只用关心核心实现)。下面我用一个歌手唱歌的例子来实现代理模式。事情是这样的,你想找一个歌手为你唱一首歌,但是歌手的所有活动都需要他的经纪人来安排。所以你必须联系他的经纪人,由经纪人做一些事情然后再将任务交给歌手。下面我们来实现下代码
注意 真实主题和代理主题需要实现相同的接口。
1 新建真实主题和代理主题的公用接口‘’
public interface ISing {void sing();}
2 新建一个 歌手类 和一个歌手经纪人类
/** * 我是歌手 我只负责唱歌 */public class Singer implements ISing{@Overridepublic void sing() {System.out.println("咚次哒次,咚次哒次。苍茫的天涯是我的爱,绵绵的青山脚下花正开...");}}/** * 我是歌手的经纪人,我会帮他安排所有的活动,你要想联系歌手就来找我吧 */public class SingerAgent implements ISing{//这是我代理的歌手Singer singer = null;@Overridepublic void sing() {if(!preSing()){return;}if(singer == null){singer = new Singer();}singer.sing();}private boolean preSing() {Date date =new Date();@SuppressWarnings("deprecation")int time = date.getHours();if(time<10 || time >17){System.out.println("很遗憾,我的歌手下班了,不能为你唱歌了。");return false;}return true;}}
3 新建测试类
public class ProxyTest {public static void main(String... a){//要想找歌手为你唱歌,我必须去找他的经纪人SingerAgent agent = new SingerAgent();//向经纪人发起一次唱歌的请求agent.sing();}}输出结果
很遗憾,我的歌手下班了,不能为你唱歌了。
很遗憾,歌手暂时不能为你唱歌,你可以在每天的 10点到17点去找他的经纪人。
阅读全文
0 0
- Static Proxy(静态代理)
- Static Proxy (静态代理模式)
- 静态代理模式(Static Proxy)解析
- Design Pattern—— static proxy pattern 静态代理模式
- 静态代理(static proxy)和动态代理(dynamic proxy)
- proxy静态代理
- Proxy 静态代理和动态代理
- 代理模式(Proxy)一 静态代理
- 【设计模式】代理模式Proxy---静态代理
- 代理模式proxy (静态代理、动态代理)
- 代理模式(Proxy Pattern),静态代理 VS 动态代理
- Java的代理(Proxy)-静态代理和动态代理
- Java设计模式-----Proxy模式(静态代理)
- proxy学习笔记(静态代理)_1
- Java设计模式-----Proxy模式(静态代理)
- OO模式-Proxy模式<一>静态代理
- 设计模式之Proxy–静态代理(代理模式)
- 【GOF】代理模式(proxy)之静态代理
- 简单的实现环形比例图
- 逃离迷宫(BFS)
- Oracle中CASE WHEN的用法实例
- POJ 3253 Fence Repair
- springboot+springdatajpa 数据库命名
- Static Proxy(静态代理)
- Android中post请求AsyncTask延时
- [NLP]使用LDA模型计算文档相似度
- PHP中->和=>的意思
- C++之在资源管理类中小心copying行为(14)---《Effective C++》
- PCL1.8+vs2013环境搭建
- net.sf.json.JSONException
- D
- 数据结构(第三天)栈和队列