星空网 > 软件开发 > ASP.net

《大话设计模式学习笔记》4:代理模式

  《大话设计模式学习笔记》4:代理模式

代追求者送礼物示例:

1.Subject:

  public interface IGiveGift  {    void GiveDolls();    void GiveFlowers();    void GiveChocolate();  }

2.RealSubject:

  public class Pursuit:IGiveGift  {    SchoolGril girl;    public Pursuit(SchoolGril girl)    {      this.girl = girl;    }    public void GiveDolls()    {      Console.WriteLine(girl.Name + ",送你洋娃娃");    }    public void GiveFlowers()    {      Console.WriteLine(girl.Name + ",送你鲜花");    }    public void GiveChocolate()    {      Console.WriteLine(girl.Name + ",送你巧克力");    }  }

3.Proxy:

  public class Proxy:IGiveGift  {    Pursuit pursuit;    public Proxy(SchoolGril girl)    {      pursuit = new Pursuit(girl);    }    public void GiveDolls()    {      pursuit.GiveDolls();    }    public void GiveFlowers()    {      pursuit.GiveFlowers();    }    public void GiveChocolate()    {      pursuit.GiveChocolate();    }  }

4.其他类及客户端代码:

  public class SchoolGril  {    public string Name { get; set; }  }

  class Program  {    static void Main(string[] args)    {      SchoolGril girl = new SchoolGril();      girl.Name = "美女";      Proxy proxy = new Proxy(girl);      proxy.GiveDolls();      proxy.GiveFlowers();      proxy.GiveChocolate();    }  }

 

代理模式的应用:

1.远程代理,也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实。如WebServie。

2.虚拟代理,是根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真实对象。

3.安全代理,用来控制真实对象访问时的权限。

4.智能指引,是指当调用真实的对象时,代理处理另外一些事情。




原标题:《大话设计模式学习笔记》4:代理模式

关键词:设计模式

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流