簡介
Proxy Pattern(代理模式)是一種結構型設計模式,為其他物件提供一種代理以控制對這個物件的存取。
問題
當需要在不改變原有物件的情況下,控制對物件的存取時。
解決方案
建立一個代理類別,包裝真實物件,並在代理中加入控制邏輯。
C# 範例
public interface ISubject {
void Request();
}
public class RealSubject : ISubject {
public void Request() {
Console.WriteLine("真實請求");
}
}
public class Proxy : ISubject {
private RealSubject _realSubject;
public void Request() {
if (_realSubject == null) _realSubject = new RealSubject();
Console.WriteLine("代理前置處理");
_realSubject.Request();
}
}
結論
Proxy Pattern 可用於存取控制、延遲載入等場景。