代理模式:為其他物件提供代理以控制對該物件的存取。

public abstract class Subject {
public abstract void Request();
}
public class RealSubject : Subject {
public override void Request() {
Console.WriteLine("真實主題方法執行中。");
}
}
public class Proxy : Subject {
private RealSubject _realSubject;
public override void Request() {
Console.WriteLine("透過代理存取真實主題。");
if (_realSubject == null) _realSubject = new RealSubject();
_realSubject.Request();
}
}
class Program {
static void Main() {
Proxy proxy = new Proxy();
proxy.Request();
Console.Read();
}
}


代理模式四大類型:遠程、虛擬、安全、智能指引。核心在於控制存取、延遲建立、權限管理與橫切關注點分離。