欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

JAVA静态代理模式,

来源: javaer 分享于  点击 48134 次 点评:266

JAVA静态代理模式,


JAVA静态代理模式
代理模式可以对 对象 的操作 附加一些操作。所有操作由代理进行。

抽象角色

声明真实对象和代理对象的共同接口

代理角色

代理对象角色内部含有真实对象的引用,可以直接操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时候都能够代理真实对象。同时,代理对象可以在执行真实对象操作的同时附加其它操作,相当于对真实对象进行封装。

真实角色

代理角色所要代表的对象,最终要引用的对象。

测试代码

//抽象角色
abstract class Subject{
    public abstract void request();
}
//真实角色
class RealSubject extends Subject{
    public void request(){
        System.out.println("From the Real Subject");
    }
}

//代理角色
class ProxySubject extends Subject{
    private RealSubject realSubject;
    public void request(){
        preRequest();
        if (realSubject==null)
            realSubject=new RealSubject();
        realSubject.request();//代理进行对真实对象的操作
        postRequest();
    }
    public void preRequest(){//在对真实对象操作之前,代理附加的操作
       System.out.println("Pre Request");
    }
    public void postRequest(){//在对真实对象操作完成之后,代理附加的操作
        System.out.println("Post Request");
    }
}

public class JavaTest {
    public static void main(String arg[]){

        Subject subject = new ProxySubject();
        subject.request();
    }
}

运行结果

Pre Request
From the Real Subject
Post Request

相关文章

    暂无相关文章
相关栏目:

用户点评