java设计模式之代理模式
2016-11-22 10:26
267 查看
代理设计模式:
代理设计模式就是多出一个代理类出来,替原对象进行一些操作。举个例子:
1.老板想写一份会议演讲稿,但是自己要忙别的工作,没时间来写
2.老板就让秘书替自己写一份会议演讲稿
3.老板拿着秘书写好的会议演讲稿去开会
上面的秘书这个角色就是老板写演讲稿的代理角色,称作代理类。
代理模式设计思路:
第一步:定义接口Meeting,提供speak方法
第二步:定义Boss类,实现Meeting接口
第三步:定义Secretary类,实现Meeting接口,在构造中初始化Boss类对象(关键代码)。
具体编码实现:
第一步:定义接口Meeting,提供speak方法
/**
* 定义接口Meeting,提供speak方法
*
* @author zdliu
*
*/
public interface Meeting {
public void speak();
}第二步:定义Boss类,实现Meeting接口
/**
* 定义Boss类,实现Meeting接口
*
* @author zdliu
*
*/
public class Boss implements Meeting {
@Override
public void speak() {
System.out.println("老板开会演讲.....");
}
}public class Boss implements Meeting {
第三步:定义Secretary类,实现Meeting接口,在构造中初始化Boss类对象(关键代码)。
/**
* Secretary类,实现Meeting接口,在构造中初始化Boss类对象(关键代码)。
*
* @author zdliu
*
*/
public class Secretary implements Meeting {
private Boss boss;
public Secretary() {
super();
// 关键代码
this.boss = new Boss();
}
@Override
public void speak() {
boss.speak();
}
}
测试类:
public class Test {
public static void main(String[] args) {
new Secretary().speak();
}
}
控制台输出信息:
老板开会演讲.....
代理设计模式就是多出一个代理类出来,替原对象进行一些操作。举个例子:
1.老板想写一份会议演讲稿,但是自己要忙别的工作,没时间来写
2.老板就让秘书替自己写一份会议演讲稿
3.老板拿着秘书写好的会议演讲稿去开会
上面的秘书这个角色就是老板写演讲稿的代理角色,称作代理类。
代理模式设计思路:
第一步:定义接口Meeting,提供speak方法
第二步:定义Boss类,实现Meeting接口
第三步:定义Secretary类,实现Meeting接口,在构造中初始化Boss类对象(关键代码)。
具体编码实现:
第一步:定义接口Meeting,提供speak方法
/**
* 定义接口Meeting,提供speak方法
*
* @author zdliu
*
*/
public interface Meeting {
public void speak();
}第二步:定义Boss类,实现Meeting接口
/**
* 定义Boss类,实现Meeting接口
*
* @author zdliu
*
*/
public class Boss implements Meeting {
@Override
public void speak() {
System.out.println("老板开会演讲.....");
}
}public class Boss implements Meeting {
第三步:定义Secretary类,实现Meeting接口,在构造中初始化Boss类对象(关键代码)。
/**
* Secretary类,实现Meeting接口,在构造中初始化Boss类对象(关键代码)。
*
* @author zdliu
*
*/
public class Secretary implements Meeting {
private Boss boss;
public Secretary() {
super();
// 关键代码
this.boss = new Boss();
}
@Override
public void speak() {
boss.speak();
}
}
测试类:
public class Test {
public static void main(String[] args) {
new Secretary().speak();
}
}
控制台输出信息:
老板开会演讲.....
更多精彩内容请关注微信公众号 java刘振东
相关文章推荐
- 基于Java的代理设计模式
- 基于Java的代理设计模式
- Java设计模式:单态模式,工厂模式,代理模式,观察者模式示例
- java 设计模式 学习笔记(6) 代理模式
- JAVA 设计模式 代理Proxy模式 一
- 基于Java的代理设计模式
- 深入浅出基于Java的代理设计模式
- JAVA设计模式之代理模式
- [转]转个经典的帖子:说故事学设计模式之-Java动态代理模式
- java设计模式-代理模式
- Java设计模式:Proxy(代理)
- java GOF设计模式--------------代理模式(Proxy Pattern)
- 深入浅出基于Java的代理设计模式
- java设计模式_代理模式_动态代理(带例子)
- Java设计模式:Proxy(代理)
- 设计模式:用Java动态代理实现AOP
- Java设计模式-----Proxy模式(静态代理)
- Java设计模式-----Proxy模式(动态代理)
- Java设计模式之虚拟代理模式
- JAVA设计模式之代理模式(转)