Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            try
            {
                {
                    Console.WriteLine("***********Real**************");

                    ISubject subject = new RealSubject();//持有资源 /数据库链接

                    Console.WriteLine("do something else...");
                    Thread.Sleep(500);
                    Console.WriteLine("do something else...");
                    Console.WriteLine("do something else...");
                    Console.WriteLine("do something else...");
                    //subject.GetSomething();
                    subject.DoSomething();
                }
                {
                    Console.WriteLine("***********Proxy1**************");
                    ISubject subject = new ProxySubject();

                    Console.WriteLine("do something else...");
                    Thread.Sleep(500);
                    Console.WriteLine("do something else...");
                    Console.WriteLine("do something else...");
                    Console.WriteLine("do something else...");

                    //subject.GetSomething();//真的需要的时候,才去   持有资源 /数据库链接
                    subject.DoSomething();
                }
                {
                    Console.WriteLine("***********Proxy1**************");
                    ISubject subject = new ProxySubject();

                    subject.GetSomething();
                    subject.DoSomething();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            Console.Read();
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            try
            {
                Console.WriteLine("欢迎来到.net高级班公开课之设计模式特训,今天是Eleven老师为大家带来的代理模式");

                Console.WriteLine("********************");
                {
                    ISubject realSubject = new RealSubject();
                    Console.WriteLine("干点别的");
                    Console.WriteLine("干点别的");
                    Console.WriteLine("干点别的");
                    Console.WriteLine("干点别的");
                    realSubject.GetSomething();
                    realSubject.GetSomething();
                    realSubject.DoSomething();
                }
                Console.WriteLine("********************");
                {
                    ISubject proxySubject = new ProxySubject();


                    Console.WriteLine("干点别的");
                    Console.WriteLine("干点别的");
                    Console.WriteLine("干点别的");
                    Console.WriteLine("干点别的");

                    proxySubject.GetSomething();
                    proxySubject.GetSomething();
                    proxySubject.GetSomething();
                    proxySubject.GetSomething();
                    proxySubject.DoSomething();
                }

                ServiceReference1.SearcherClient client = new ServiceReference1.SearcherClient();
                //client.QueryCommodityPage();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            Console.Read();
        }