开通VIP,畅享免费电子书等14项超值服
首页
好书
留言交流
下载APP
联系客服
2013.06.27
1.代理模式(Proxy),为其他对象提供一种代理以控制对整个对象的访问
2.例子:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 代理模式{ class Program { static void Main(string[] args) { SchoolGirl jiaojiao = new SchoolGirl(); jiaojiao.Name = "李娇娇"; Proxy daili = new Proxy(jiaojiao); daili.GiveDolls(); daili.GiveFlowers(); daili.GiveChocolate(); Console.ReadLine(); } } #region- 共用接口 - interface GiveGift { void GiveDolls(); void GiveFlowers(); void GiveChocolate(); } #endregion #region- 被追求者 - class SchoolGirl { private string name; public string Name { get { return name; } set {name=value; } } } #endregion #region- 追求者 - class Pursuit : GiveGift { SchoolGirl mm; public Pursuit(SchoolGirl mm) { this.mm = mm; } public void GiveDolls() { Console.WriteLine(mm.Name+"送你洋娃娃"); } public void GiveFlowers() { Console.WriteLine(mm.Name + "送你花"); } public void GiveChocolate() { Console.WriteLine(mm.Name + "送你巧克力"); } } #endregion #region- 代理 - class Proxy : GiveGift { Pursuit gg; public Proxy(SchoolGirl mm) { gg = new Pursuit(mm); } public void GiveDolls() { gg.GiveDolls(); } public void GiveFlowers() { gg.GiveFlowers(); } public void GiveChocolate() { gg.GiveChocolate(); } } #endregion}
结果:
微信登录中...请勿关闭此页面