java 静态代理-积木系列

代理模式的定义:Provide a surrogate or placeholder for another object to controlaccess to it(为其他对象提供一种代理以控制对这个对象的访问)。使用代理模式创建代理对象,让代理对象控制目标对象的访问(目标对象可以是远程的对象、创建开销大的对象或需要安全控制的对象),并且可以在不改变目标对象的情况下添加一些额外的功能。

这里记录下其中的静态代理,UML类图:

实现代码:

public interface Subject {
    public void operatetion();
}
public class RealSubject implements Subject{
    @Override
    public void operatetion() {
        //核心业务实现
    }
}
public class Proxy implements Subject{

    private Subject subject;

    public Proxy(Subject subject){
        this.subject =subject;
    }

    @Override
    public void operatetion() {
        doSomeThing();//增强业务
        subject.operatetion();
        doSomeThing();
    }

    private void doSomeThing(){}
}

静态代理模式结构简单,一目了然。

原文地址:https://www.cnblogs.com/killbug/p/5271291.html