interface Subject { //定义核心主题所要完成的功能
public void make();
}
class RealSubject implements Subject {
public void make() {
System.out.println("核心主题"); //核心主要只需要完成核心步骤,其他步骤交给代理类完成
}
}
class ProxySubject implements Subject {
private Subject sub;
public ProxySubject(Subject sub) {
this.sub = sub;
}
public void prepare() { //核心主题操作前的准备
System.out.println("核心主题操作前的准备");
}
public void make() {
this.prepare();
this.sub.make(); //
this.destory();
}
public void destory() {
System.out.println("核心主题完成操作后的收尾");
}
}
public class Test {
public static void main(String args[]) {
Subject sub = new ProxySubject(new RealSubject()); //对于客户端能够操作的就是代理类和主题接口
sub.make();
}
}
来源: http://www.bubuko.com/infodetail-2253121.html