Java中代理模式_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Java中代理模式

Java中代理模式

 2018/10/16 15:45:19  andrew7676  程序员俱乐部  我要评论(0)
  • 摘要:1.Java中代理模式publicabstractclassSubject{publicabstractvoidrequest();}publicclassRealSubjectextendsSubject{publicvoidrequest(){System.out.println("Fromrealsubject.");}}publicclassProxySubjectextendsSubject{privateRealSubjectrealSubject
  • 标签:Java 模式 代理 代理模式
1. Java中代理模式
class="Subject.java" name="code">
public abstract class Subject{
    public abstract void request();
}

public class RealSubject extends Subject{
    public void request(){
        System.out.println("From real subject.");
    }
}

public class ProxySubject extends Subject{
    private RealSubject realSubject; //代理角色内部引用了真实角色
    public void request(){
        this.preRequest(); //在真实角色操作之前所附加的操作
        if(null == realSubject){
            realSubject = new RealSubject();
        }
        realSubject.request(); //真实角色所完成的事情
        this.postRequest(); //在真实角色操作之后所附加的操作
    }
    private void preRequest(){
        System.out.println("pre request");
    }
    private void postRequest(){
        System.out.println("post request");
    }
}

public class Client{
    public static void main(String[] args){
        Subject subject = new ProxySubject();
        subject.request();
    }
}
运行结果:
pre request
From real subject.
post request
上一篇: Java中静态导入 下一篇: Java中策略模式
发表评论
用户名: 匿名