设计模式之--静态代理

上一篇介绍了JDK动态代理,这里在介绍一下静态代理,静态代理相对来说简单了许多,静态代理模式的基本思想大致为:真实对象与代理对象都实现了相同的接口,都能做同样的事情,在代理类中可以通过获取真实对象来实现真实对象的业务逻辑。

它的使用模式大致如下图所示:

设计模式之--静态代理

public interface Action {
    void doSomething();
}

  

public class RealObject implements Action {
    @Override
    public void doSomething() {
        System.out.println("do something");
    }
}

  

public class Proxy implements Action{
    private RealObject realObject;

    public Proxy(RealObject realObject) {
        this.realObject = realObject;
    }

    @Override
    public void doSomething() {
        System.out.println("before operate......");
        this.realObject.doSomething();
        System.out.println("after operate......");
    }
}
public class MainTest {
    public static void main(String[] args) {
        Proxy proxy = new Proxy(new RealObject());
        proxy.doSomething();
    }
}

 结果:

设计模式之--静态代理