Exemplo n.º 1
0
            public override void Request()
            {
                if (_realSubject == null)
                {
                    _realSubject = new RealSubject();
                }

                _realSubject.Request();
            }
Exemplo n.º 2
0
        public override void Request()
        {
            if (this.checkAccess())
            {
                realSubject = new RealSubject();
                realSubject.Request();

                this.logAccess();
            }
        }
Exemplo n.º 3
0
        public override void Request()
        {
            // Use 'lazy initialization'

            if (_realSubject == null)
            {
                _realSubject = new RealSubject();
            }

            _realSubject.Request();
        }
Exemplo n.º 4
0
        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();

            client.ClientCode(proxy);
        }