public interface Subject { public void request(); }
package com.wangyu;
public class RealSubject implements Subject {
public void request() { System.out.println("真实实现--》关注做菜"); } }
package com.wangyu;
public class ProxySubject implements Subject { private Subject sub =null; public ProxySubject(Subject sub){ this.sub=sub; } public void before(){ System.out.println("摘菜"); }
public void request() {
this.before(); this.sub.request(); this.after();
}
public void after(){ System.out.println("刷锅"); }
}
package com.wangyu;
public class TestProxy { public static void main(String[] args) { Subject sub = new ProxySubject(new RealSubject()); sub.request(); } }