代理模式(Proxy)定义:代理模式为客户端程序提供一种中间层以控制对这个对象的访问。
/// <summary>
/// 通用接口定义
/// </summary>
public interface ISubject
{
void Say();
}
/// <summary>
/// 被代理者
/// </summary>
public class Subject : ISubject
{
public void Say()
{
Console.WriteLine("Hello");
}
}
/// <summary>
/// 代理
/// </summary>
public class Proxy : ISubject
{
private Subject _subject;
public void Say()
{
if (_subject == null) {
_subject = new Subject();
}
_subject.Say();
}
}
代理模式适用范围很广,不同的代理适合于不同的情形。
源码地址
其他设计模式