代理模式:顾名思义,就是对一个对象的访问,通过这个代理来访问,
package com.zwy;
/*代理模式:
* 为其他的对象提供一种代理以控制对这个对象的访问.
* 第一:远程代理也就是为一个对象在不同的地址空间提供局部的代表,这样就可以隐藏一个对象不存在于不同地址空间的事实.
* 第二:虚拟代理,是根据需要创建开销很大的对象,通过它来存放实例化需要很长时间的真实对象.
* 第三:安全代理,用来控制真实对象访问时的权限.
* 第四:智能应用,当调用真实对象时,代理可以处理另外一些事情.
* */
public class ProxyTest {
/**
* main(这里用一句话描述这个方法的作用)
* (这里描述这个方法适用条件 – 可选)
* @param args
*void
* @exception
* @since 1.0.0
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Proxy proxy = new Proxy();
proxy.operator();
}
}
/*抽象类*/
abstract class Request {
public abstract void request();
}
/*对象的逻辑处理类*/
class RealRequest extends Request{
@Override
public void request() {
System.out.println("开始进行请求~~~");
}
}
/*代理类,可以在这边添加一些额外的与对象无关的处理逻辑.*/
class Proxy {
private Request request ;
public void operator() {
if(null == request) {
request = new RealRequest();
}
request.request();
}
}