static void Main() { Console.WriteLine("Proxy pattern\n"); ISubject subject = new Proxy(); Console.WriteLine(subject.Request()); Console.WriteLine(subject.Request()); var protectionProxy = new ProtectionProxy(); Console.WriteLine(protectionProxy.Request()); Console.WriteLine(protectionProxy.Authenticate("Secret")); Console.WriteLine(protectionProxy.Authenticate("Abracadabra")); Console.WriteLine(protectionProxy.Request()); }