Java:代理模式

来自WHY42
imported>Soleverlee2016年3月18日 (五) 07:05的版本 (以“Java代理模式是很有用的模式,之前阿里的面试官问我AOP是怎么实现的,说了半天没说清楚,后来才发现原来叫代理模式...代...”为内容创建页面)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

Java代理模式是很有用的模式,之前阿里的面试官问我AOP是怎么实现的,说了半天没说清楚,后来才发现原来叫代理模式...代理模式的核心思想是,在方法外面再包装一层,这样执行的时候,当然可以在实际执行的方法前面和后面加别的函数了...

首先要定义一个接口:

interface Handler{
public void handle();
}

然后这个接口有个实现,就略了;关键是还要加一个代理实现:

class Proxy implements Handler{
    HandlerImpl impl = new HandlerImpl();
    
    @Override
    public void handle(){
        //before
        this.impl.handle();
        //after
    }
}

这样实际在使用的过程中,用这个代理而不是直接的实现,就可以在handle处理前后做一些文章了。