代理模式:为其他对象提供一种代理以控制对这个对象的访问
代理模式应用
一、远程代理
也就是为一个对象在不同的地址空间提供局部代表,这样可以隐藏一个对象存在不同地址空间的事实
二、虚拟代理
根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真实对象
三、安全代理
用来控制真实对象访问时的权限
四、智能指引
是指当调用真实对象时,代理处理另外一些事情
namespace 代理模式
{
class Program
{
static void Main(string[] args)
{
Proxy proxy = new Proxy();
proxy.Request();
Console.Read();
}
}
abstract class Subject
{
public abstract void Request();
}
class RealSubject : Subject
{
public override void Request()
{
Console.WriteLine("真实的请求");
}
}
class Proxy : Subject
{
RealSubject realSubject;
public override void Request()
{
if (realSubject == null)
{
realSubject = new RealSubject();
}
realSubject.Request();
}
}
}
浙公网安备 33010602011771号