返回首页
前言
感谢各位同学的关注与支持,我会一直更新此专题,竭尽所能整理出更为详细的内容分享给大家,但碍于时间及精力有限,代码分享较少,后续会把所有代码示例整理到github,敬请期待。
此章节介绍建代理模式。
1、代理模式
代理模式,一个类代表另一个类的功能。
在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。
为其他对象提供一种代理以控制对这个对象的访问。
1.1、UML图
1.2、示例代码
// 版本一(卓贾易直接追求娇娇):未使用代理
//V1.SchoolGirl mm = new V1.SchoolGirl();
//mm.Name = "娇娇";
//V1.Pursuit zjy = new V1.Pursuit(mm);
//Console.WriteLine("我是追求者卓贾易");
//zjy.GiveDolls();
//zjy.GiveFlowers();
//zjy.GiveChocolate();
//Console.ReadKey();// 版本二(戴笠代理卓贾易追求娇娇):使用代理戴笠
//V2.SchoolGirl mm = new V2.SchoolGirl();
//mm.Name = "娇娇";
//V2.Proxy dl = new V2.Proxy(mm);
//Console.WriteLine("我是代理者戴笠");
//dl.GiveDolls();
//dl.GiveFlowers();
//dl.GiveChocolate();
//Console.ReadKey();// 版本三(追求者卓贾易通过代理戴笠送给娇娇礼物):使用代理模式
V3_Proxy.SchoolGirl mm = new V3_Proxy.SchoolGirl();
mm.Name = "娇娇";
V3_Proxy.Proxy dl = new V3_Proxy.Proxy(mm);
Console.WriteLine("我是送礼物的代理者戴笠,但礼物是追求者卓贾易买的");
dl.GiveDolls();
dl.GiveFlowers();
dl.GiveChocolate();
Console.ReadKey();