public void SendRequest() { var realSubject = new RealSubject(); PreSendRequest(); realSubject.SendRequest(); PostSendRequest(); }
public void PerformAction() { if (_realSubject == null) { _realSubject = new RealSubject(); } _realSubject.PerformAction(); }
public override void Request() { // Use 'lazy initialization' if (_subject == null) { _subject = new RealSubject(); } //do other things. Check security _subject.Request(); }
public override void Request() { // Use 'lazy initialization' if (_realSubject == null) { _realSubject = new RealSubject(); } _realSubject.Request(); }
static void Main(string[] args) { Client client = new Client(); Console.WriteLine("Client: Executing the client code with a real subject:"); RealSubject realSubject = new RealSubject(); client.ClientCode(realSubject); Console.WriteLine(); Console.WriteLine("Client: Executing the same client code with a proxy:"); Proxy proxy = new Proxy(realSubject); client.ClientCode(proxy); }
public Proxy(RealSubject realSubject) { _realSubject = realSubject; }
public Proxy(RealSubject realSubject) { this._realSubject = realSubject; }