public static void Main()
        {
            Console.WriteLine("Authetication Proxy");
            ISubject subject = new Proxy();

            Console.WriteLine(subject.Request());                                       // Actually create the subject
            subject = new ProtectionProxy();
            Console.WriteLine((subject as ProtectionProxy).Authenticate("LOLLIPOPS!")); // If the password is correct then the subject is requested
            Console.WriteLine(subject.Request());
        }
        static void Main(string[] args)
        {
            ISubject subject = new Proxy();

            System.Console.WriteLine(subject.Request());

            subject = new ProtectionProxy();

            System.Console.WriteLine((subject as ProtectionProxy).Authenticate("test"));

            System.Console.WriteLine(subject.Request());
        }
Example #3
0
        static void Main(string[] args)
        {
            //subject => konu
            IKonu subject = new Proxy();

            Console.WriteLine(subject.Talep());
            Console.WriteLine(subject.Talep());

            ProtectionProxy subjectProxy = new ProtectionProxy();

            Console.WriteLine(subjectProxy.Talep());
            Console.WriteLine((subjectProxy as ProtectionProxy).KimlikDogrulaması("Secret"));
            Console.WriteLine((subjectProxy as ProtectionProxy).KimlikDogrulaması("besatMikeTyson"));
            Console.WriteLine(subjectProxy.Talep());

            Console.ReadKey();
        }
Example #4
0
        /*
         * Intent
         * The intent of this pattern is to provide a �Placeholder� for an object to control references to it.
         */
        static void Main(string[] args)
        {
            Console.WriteLine("Proxy Pattern\n");

            ISubject proxy = new Proxy();

            Console.WriteLine(proxy.Request());
            Console.WriteLine(proxy.Request());

            var protectionProxy = new ProtectionProxy();

            Console.WriteLine(protectionProxy.Request());

            Console.WriteLine((proxy as ProtectionProxy).Authenticate("Secret"));
            Console.WriteLine((proxy as ProtectionProxy).Authenticate("Abracadabra"));
            Console.WriteLine(proxy.Request());
        }
Example #5
0
        /*
         * Decorators focus on adding responsibilities, whereas proxies focus on controlling access to an object!
         */
        static void Main(string[] args)
        {
            Console.WriteLine("Proxy Pattern");

            Subject proxy = null;

            //proxy = new Proxy();
            //proxy.DoSomeWork();

            //protection proxy
            proxy = new ProtectionProxy("Admin");
            proxy.DoSomeWork();

            proxy = new ProtectionProxy("Marcel");
            proxy.DoSomeWork();

            Console.ReadLine();
        }