代理模式:为其它对象提供一种代理以控制这个对象的访问
2018-09-13_091511.pngabstract class Subject
{
public abstract void Request();
}
class RealSubject extends Subject
{
public void Request()
{
System.out.println("真实的请求");
}
}
class Proxy extends Subject
{
RealSubject realSubject;
public void Request()
{
if(realSubject==null)
{
realSubject=new RealSubject();
}
realSubject.Request();
}
}
客户端代码
static void Main(string[] args)
{
Proxy proxy=new Proxy();
proxy.Request();
}
代理模式的应用场合
1、远程代理:也就是为一个对象在不同的地址空间提供局部代理。这样可以隐藏一个对象存在于不同地址空间的事实。
2、虚拟代理:是根据需要创建开销很大的对象。通过它来存放实例化需要很成时间的真实对象。
比如说你打开一个很大的HTML网页时,里面有很多的文字和图片,但是你还是可以很快打开它,此时你看到的是所有的文字,但图片却是一张张的下载后才能看到,那些未打开的图片框,就是通过虚拟代理来代替了真实的图片,此时代理存储了真实图片的路径和尺寸
3、安全代理:用来控制真实对象的访问权限
4、智能指引:
网友评论