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(); }
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(); }