读书人

替别人做嫁衣-代理模式

发布时间: 2013-03-12 11:19:35 作者: rapoo

为别人做嫁衣---代理模式


引例 :追求者(C),被追求者(B),代理者(A)


故事概要: A和B是好朋友, A喜欢B,但A以C的名义去送给B礼物

1.没有代理

替别人做嫁衣-代理模式


这样的情况下 代码中只体现了代理,真正的追求者又不见了 ,变成了礼物是代理买的了

那么如何能写出,追求者是存在的,同时代理也是存在的, 实现 礼物是追求者买的,代理去送礼物呢?

引入: 代理模式

代理模式 : 为其他对象提供一种代理以控制这个对象的访问

代理模式结构图 :

替别人做嫁衣-代理模式

代理模式应用模板:

 

附录:

代理模式使用的场合:


代理模式 应用场合 :

  1. 远程代理 也就是为了一个对象在不同的地址空间提供局域代表。这样可以隐藏一个对象存在于不同地址空间的事实
  2. 虚拟代理 是根据需要创建开销很大的对象, 通过它来存放实例化需要很长时间的真实对象
  3. 安全代理 用来控制真实对象访问时的权限
  4. 智能指引 是指当调用真实的对象时,代理处理另外一些事

个人理解 :

代理就是真实对象的代表,通过代理去办我们不能去办的事,我想这就像是生活中的老板和秘书吧,老板说,秘书去做, 不必老板全部出面去解决事情。 即方便 同时也提高了工作效率,就像设计模式中举得例子,图片 网页代理显示,但是我们需要的时候,还是要去真正的地方下载。在开发中应用代理模式会使职责更加清晰吧。就像我们常见的中介一样,各取所需,目的都是一样的,通过代理来完成 扩展性也就更高了,如果我想找保姆,我自己的能力,范围有限,但是通过中介我可以选择的人就多了,这就是利用代理模式的好处吧!

---------大话设计模式(代理模式)

读书人网 >其他相关

热点推荐