RealSubject
+Request()
internal class Proxy : Subject { private RealSubject _realSubject; public override void Request() { if (_realSubject == null) { _realSubject = new RealSubject(); } _realSubject.Request(); } }
internal abstract class Subject { public abstract void Request(); }
Subject
static void Main(string[] args) { var proxy = new Proxy(); proxy.Request(); Console.Read(); }
RealSubject和Proxy都继承自Subject,使用RealSubject的地方都可以用Proxy代替
-realSubject
internal class RealSubject : Subject { public override void Request() { Console.WriteLine(\"真实的请求\"); } }
Client
Proxy