定义:为其他对象提供一种代理以控制对这个对象的访问。
代码:
package proxy_model;
/**
* @author naivor
* 代理模式-场景类
*/
public class ProxyModel {
public static void main(String[] args) {
Request subject=new Proxy(); //请求时直接找代理者,代理处理了请求
subject.request();
}
}
/**
*
* @author naivor
* 代理模式-请求抽象类
*/
abstract class Request{
public abstract void request();
}
/**
*
* @author naivor
* 代理模式-真实请求类
*/
class RealRequest extends Request{
@Override
public void request() {
//被代理者的业务逻辑
}
}
/**
*
* @author naivor
* 代理模式-代理类
*/
class Proxy extends Request{
private RealRequest target;
@Override
public void request() {
if (target==null) {
target=new RealRequest();
}
target.request();
}
}