您的位置:首页 > 其它

静态代理模式(不被推荐使用)

2016-01-09 21:34 302 查看
抽象角色

package com.ygl.proxy;

public abstract class Subject {

public abstract void request();

}

//===================================

代理角色

package com.ygl.proxy;

public class ProxySubject extends Subject{

private RealSubject realSubject;//代理角色内部引用了真实角色

@Override

public void request() {

this.preRequest();

if(null==realSubject){

realSubject=new RealSubject();

}

realSubject.request();//真实角色所完成的事情

this.postRequest();

}

private void postRequest() {

System.out.println("post request");

}

private void preRequest(){

System.out.println("pre request");

}

}

//===================================

真实角色

package com.ygl.proxy;

public class RealSubject extends Subject{

@Override

public void request() {

System.out.println("RealSubject");

}

}

//==============================

测试

package com.ygl.proxy;

public class Client {

public static void main(String[] args) {

Subject subject=new ProxySubject();

subject.request();

}

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: