为了账号安全,请及时绑定邮箱和手机立即绑定

设计模式--代理模式(Proxy Pattern)

标签:
设计模式

高老庄的故事
  却说那春融时节,悟空牵着白马,与唐僧赶路西行。忽一日天色将晚,远远地望见一村人,这就是高老庄,猪八戒的老丈人高老太公家。为了将高家三小姐解救出猪八戒的魔掌,悟空决定假扮高小姐,挥一挥这妖怪:
  “行者却弄神通,摇身一变,变得就如那女子一般,婀娜多姿,沉鱼落雁,独自个坐在房里等那妖精。不多时,一阵风来,真个是走石飞砂……那阵狂风过处,只见半空里来了一个妖精,果然生得丑陋:黑脸短毛,长喙大耳,穿一领青不青、蓝不蓝的梭布直裰,系一条花布手巾……走进房,一把搂住,就要亲嘴……”

高小姐的神貌与本人
  悟空的下手之处是将高小姐的神貌和她本人分离开来。这与“开-闭”原则有异曲同工之妙。这样一来,高小姐本人就成了“高小姐神貌”的具体实现。而高小姐神貌就成了抽象角色,如下图所示。

webp

54.png


悟空扮演并代替高小姐
  悟空巧妙地实现了“高小姐神貌”,也就是说同样变成了“高小姐神貌的”的子类。悟空可以扮演高小姐,并代替高小姐去会见猪八戒。其静态结构图如下图所示:

webp

55.png


  悟空代替高小姐去见八戒。
  显然这就是代理模式的具体应用,具体的讲这是保护代理模式的具体应用。只有代理对象认为合适时,才将客户端的请求发给真实对象。


八戒分辨不出真假老婆
  从西游记的描述可以看出,八戒根本分不清楚悟空扮演的“高小姐替身”和“高小姐本人”。客户端分辨不出代理对象和真实对象。这是代理模式的一个重要用意。
  悟空代替高小姐会见八戒的对象图如下:

webp

56.png



作者:蓦然飞跃
链接:https://www.jianshu.com/p/10ffe96d76fb


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
205
获赞与收藏
1008

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消