设计模式之代理设计模式
设计模式:前人的一套经验的总结
特点:比较抽象
我们要模拟
new Thread(daoShi).start();
即Thread代理Runnable完成start启动任务
代码如下:
interface Subject{ //主题类接口
}
class Real implements Subject{ //Real要使用Proxy提供的方法
}
class Proxy implements Subject{
private Subject subject;
public Proxy(){}
public Proxy(Subject subject){
this.subject=subject;
}
public void method(){System.out.println("Proxy的方法");}
}
public class Demo {
public static void main(String[] args) {
new Proxy(new Real()).method();
}
}
运行如图:

实际中我们的代理模式的代码:
interface Subject{ //主题类接口
public void work();
}
class Real implements Subject{ //Real要使用Proxy提供的方法
public void work(){
System.out.println("谈业务...");
}
}
class Proxy implements Subject{
private Subject subject;
public Proxy(){}
public Proxy(Subject subject){
this.subject=subject;
}
public void begin(){System.out.println("订机票、订酒店");}
public void end(){System.out.println("整理汇总文件");}
public void work(){
this.begin(); //代理的
subject.work(); //主要的工作
this.end(); //代理的
}
}
public class Demo {
public static void main(String[] args) {
new Proxy(new Real()).work();
}
}
一个人经理主页任务是去外地谈业务,而订机票酒店这些事情一般是由秘书代为办理的,同理回来后一些整理的收尾工作也由秘书代理完成
运行如图:

浙公网安备 33010602011771号