标签:style blog class code java ext
参考资料《大话设计模式》
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ds_proxy { class Program { static void Main(string[] args) { try { GiveGift daili = new Proxy(); daili.GiveDolls(); daili.GiveFollow(); daili.GiveChocolate(); } catch (Exception e) { Console.WriteLine(e.Message); } } } interface GiveGift { void GiveDolls(); void GiveFollow(); void GiveChocolate(); } /// <summary> /// 代理可以控制客户对实体类的访问 /// </summary> class Proxy : GiveGift { Pursuit gg=new Pursuit(); public void GiveDolls() { gg.GiveDolls(); } public void GiveFollow() { gg.GiveFollow(); } public void GiveChocolate() { Console.WriteLine("代理:不能访问实体类的GiveChocolate()"); //gg.GiveChocolate(); } } /// <summary> /// 实体类 /// </summary> class Pursuit : GiveGift { public void GiveDolls() { Console.WriteLine("mm.Name + :送你洋娃娃!"); } public void GiveFollow() { Console.WriteLine("mm.Name + :送你鲜花!"); } public void GiveChocolate() { Console.WriteLine("mm.Name + :送你巧克力!"); } } }
1.实体类,代理类实现同一个接口,客户类访问代理类,代理类实现实体类的全部或部分功能;
2.代理类可以控制客户对实体类的访问权限。
标签:style blog class code java ext
原文地址:http://www.cnblogs.com/nju347/p/3719587.html