java设计模式-代理模式

package proxy;

/**
 * 抽象主题,定义主要功能
 */
public interface Subject {
     public void operate();
}
package proxy;

public class Proxy implements Subject{

    private Subject subject;
    
    public Proxy(Subject subject) {
        this.subject = subject;
    }
    
    public void operate() {
        System.out.println("before operate......");
        subject.operate();
        System.out.println("after operate......");
    }
}
package proxy;

public class RealSubject implements Subject{
    public void operate() {
        System.out.println("realsubject operatestarted......");
    }
}
package proxy;

public class Client {
    public static void main(String[] args) {
         Subject subject = new RealSubject();
            Proxy proxy = new Proxy(subject);
            proxy.operate();
    }
}
原文地址:https://www.cnblogs.com/fuyuanming/p/5830318.html