美文网首页达叔的朋友圈们
大话设计模式读书笔记-7代理模式

大话设计模式读书笔记-7代理模式

作者: QuietHeart | 来源:发表于2020-03-19 08:49 被阅读0次

第7章 为别人做嫁衣——代理模式

定义

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

解释

代理对象和真实对象具有相同名字的接口(两者可以继承一个共同的抽象类),不同点在于:真实对象的接口做真正的事情,而代理对象的接口调用真正对象的接口,只负责获取/传送代理结果(代理对象保存有真实对象的引用控制其具体访问,客户端只调用代理对象间接访问真实对象)。

主要用于:远程访问(不同地址的远程对象,通过代理调用,隐藏了不同地址空间的问题),虚拟代理(比如网页加载图像等大量数据之前,先显示代理的框架以提高响应度),安全控制,智能指针等。

实现

  • Subject: 定义了真正类和代理类的共同接口(request())。以便任何时候能通过代理的接口实现调用到同样类的接口实现。
  • RealSubject: 定义了真正类,实现相应的接口(request()),真正做事情的类。
  • Proxy: 定义了代理类,代理类保存一个RealSubject的对象引用,其接口request()通过引用调用到实际类的request(),实现代理替换实际类的效果。
  • Client: 创建代理类,通过代理类发送请求(不用关注实际类是什么)

实现类图:

img img

客户端代码

代理模式客户端

总结

代理模式通过代理对象间接访问真实对象,也可在代理中控制真实对象的访问。这使得在访问对象时引入了一种间接性,通过间接性附加多种用途。

相关文章

  • Design Patterns Talk - Proxy Pat

    《大话设计模式》第 7 章 - 代理模式 的 Swift 实现。 问题 “追求者”通过“代理”送礼物给“Schoo...

  • iOS开发之设计模式 - 代理模式

    由《大话设计模式 - 代理模式》的OC和部分Swift的语言转义 代理模式 继上一篇《装饰模式》 代理模式 小明追...

  • iOS开发之设计模式 - 代理模式

    由《大话设计模式 - 代理模式》的OC和部分Swift的语言转义 代理模式 继上一篇《装饰模式》[https://...

  • 大话设计模式——代理模式

    代理其实就是一个代理类持有被代理的引用,然后通过调用代理类的方法调用被代理的类。

  • 大话设计模式 代理模式

    应用:1.web service 会生成web reference 的文件夹,通过调用代理解决远程访问的问题。2....

  • iOS开发之设计模式 - 工厂模式

    由《大话设计模式 - 工厂模式》的OC和部分Swift的语言转义 工厂模式 继上一篇《代理模式》 工厂模式, 定义...

  • 大话设计模式读书笔记-7代理模式

    第7章 为别人做嫁衣——代理模式 定义 代理模式,为其他对象提供一种代理以控制对这个对象的访问。 解释 代理对象和...

  • 大话设计模式之代理模式

    代理模式 代理模式的定义:代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式...

  • 大话设计模式之代理模式

    最近猿小二,在生活上遇到了一些挫折;既然是挫折,想来可能不是什么好事儿,但是对于身为程序员的猿小二来说,凡事儿总喜...

  • 设计模式-面相对象7个原则

    设计模式-面相对象7个原则设计模式-创造性模式 单例 原型 工厂 建造者设计模式-设计模式 - 结构性模式 代理 ...

网友评论

    本文标题:大话设计模式读书笔记-7代理模式

    本文链接:https://www.haomeiwen.com/subject/moxnshtx.html