结构型模式——代理模式(Proxy)

 开头

     今天小编带大家学习一下代理模式,古代君王整天沉迷于花天酒地,一些朝政就置之不理,于是找来了摄政王,让摄政王或者代理大臣代理朝政,最后国家成了别人的国家。如今随着时代的发展,我们的腰包里面鼓鼓的,于是开始想买国外的商品,由于外界因素的限制导致我们无法直接购买商品,于是我们找来了代理商去帮助我们购买我们需要的产品。今天我们学习的设计模式也是这样的,当一个对象无法直接访问一个对象时,可以创建一个代理对象间接的访问该对象,满足用于需求。


内容

我们可以将代理模式具体分为三大角色,分别为 Subject(抽象主题角色)、Proxy(代理主题角色)、RealSubject(真实主题角色)。

Subject(抽象主题角色):可以是抽象类、具体类、接口,是真实主题角色和代理主题角色的共同接口。

Proxy(代理主题角色):调用真实主题角色方法,可以扩展真实主题角色的功能。

RealSubject(真实主题角色):实现抽象主题角色具体方法。


下面我们以国外代购为例来介绍代理模式



总结

代理模式(Proxy):给某一个对象提供一个代理或占位符,并由代理对象来控制对原对象的访问。

优点:

(1)降低了真实主题角色和代理主题角色的耦合度。

(2)可以扩展真实主题角色功能,灵活性扩展性好

缺点:代理过程复杂,无论是速度还是实现过程中都比较繁琐

适用场景:一个真实对象无法访问另一个对象或者访问另一个对象困难时,可以创建一个代理对象实现真实对象的访问。

   

    关于代理模式还有类型,例如远程代理、虚拟代理、缓冲代理、保护代理等,对于初学您先有一个大概的了解,随着我们学习的深入,在不断的总结识别。

如果本篇博客对于初学者的您有一定的帮助记得给小编点个赞哦。


猜你喜欢

转载自blog.csdn.net/fjxcsdn/article/details/80433499