java设计模式之代理模式1--静态代理
2018-03-19 14:28
489 查看
Java编程的目标是实现现实不能完成的,优化现实能够完成的,是一种虚拟技术。生活中的方方面面都可以虚拟到代码中。代理模式所讲的就是现实生活中的这么一个概念:助手。代理模式的定义:给某一个对象提供一个代理,并由代理对象控制对原对象的引用。
1.)首先新建一个表演的接口
package com.zhong.pattern.proxy; /** * 表演接口 * @author admin * */ public interface Play { void sing(String songName); void dance(String danceName); }
2.)声明一个歌星,实现表演接口
package com.zhong.pattern.proxy; public class Actor implements Play { private String name; public Actor(String name) { this.name = name; } @Override public void sing(String songName) { System.out.println("演唱歌曲:"+songName); } @Override public void dance(String danceName) { System.out.println("跳"+danceName+""); } public String getName() { return name; } public void setName(String name) { this.name = name; } }
3.)声明一个助手,同样也实现表演接口,必须接受表演下单
package com.zhong.pattern.proxy; public class Assistant implements Play { private Actor actor;// 歌星 public Assistant(Actor actor) { this.actor = actor; } @Override public void sing(String songName) { System.out.println("欢迎歌星:"+actor.getName()+"给我们演唱歌曲:"+songName); actor.sing(songName);//歌星唱歌 System.out.println("演唱结束,大家掌声在哪里"); } @Override public void dance(String danceName) { System.out.println("欢迎歌星:"+actor.getName()+"给我们表演:"+danceName); actor.dance(danceName); System.out.println("舞蹈表演结束,大家掌声在哪里"); } }
4.)创建一个客户端,模拟一次表演
package com.zhong.pattern.proxy; public class Test { public static void main(String[] args) { Actor actor = new Actor("刘德华");//歌星--被代理对象 Assistant assistant = new Assistant(actor);//助手 assistant.sing("笨小孩"); assistant.dance("小苹果"); } }
相关文章推荐
- java设计模式学习笔记3 代理模式-静态代理
- java 设计模式之静态代理模式
- Java 设计模式——静态代理模式和动态代理模式
- java设计模式-代理模式(静态代理,动态代理)
- 使用自动生成java文件和自动编译的静态代理模式-马士兵设计模式教程
- Java设计模式——静态代理设计模式
- 【GOF23设计模式】_代理模式_静态代理_动态代理_开发场景JAVA236-237
- java设计模式之静态代理
- java设计模式之四:代理模式 java静态代理和动态代理
- Java设计模式---静态代理
- java代理设计模式(静态代理与动态代理)
- 代理角色java设计模式---静态代理(简单笔记)
- Java设计模式之----静态代理(一)
- java 设计模式之四-代理模式 java静态代理和动态代理
- JAVA设计模式之【代理模式】一(静态代理)
- Java设计模式-代理模式之静态代理
- Java设计模式学习06——静态代理与动态代理
- java设计模式之静态代理与动态代理
- JAVA设计模式--代理模式(静态)
- Java设计模式之 静态代理和动态代理