代理模式

来源:互联网 发布:linux vi编辑最后一行 编辑:程序博客网 时间:2024/05/29 08:16

概念
代理模式(proxy),为其他对象提供一种代理以控制对这个对象的访问.

类图
这里写图片描述

源码

//功能接口public interface Subject {    void request();}//功能具体实现接口public class RealSubject implements Subject {    public void request() {        System.out.println("真实的请求");    }}//代理类public class Proxy implements Subject {    private RealSubject realSubject;    public void setRealSubject(RealSubject realSubject) {        this.realSubject = realSubject;    }    public void request() {        if (realSubject != null) {            befroe();            realSubject.request();            after();        }    }    private void befroe() {        System.out.println("代理前操作");    }    private void after() {        System.out.println("代理后操作");    }}public class Test {    public static void main(String[] args) {        RealSubject real = new RealSubject();        Proxy proxy = new Proxy();        proxy.setRealSubject(real);        proxy.request();    }}

代理模式在访问对象时引入一定程度的间接性,因为这种间接性,我们就可以附加多种用途了.
貌似spring的切面就是通过动态代理技术实现的.

0 0
原创粉丝点击