interface Subject{
public void event();
}
class RealSubject implements Subject{
public void event(){
System.out.println("核心事件");
}
}
class ProxySubject implements Subject{
private Subject subject;
public ProxySubject (Subject subject){
this.subject=subject;
}
public void prepare(){
System.out.println("事件前的准备工作");
}
public void destory(){
System.out.println("事件后的收尾工作");
}
public void event(){
this.prepare();
this.subject.event();
this.destory();
}
}
public class TestDemo{
public static void main(String args[]){
Subject sub =new ProxySubject(new RealSubject());
sub.event();
}
}