## 代理设计模式
###
为其他对象提供⼀种代理以控制对这个对象的访问,属于结构型模式。
###
客户端并不直接调⽤实际的对象,⽽是通过调⽤代理,来间接的调⽤实际的对象。
###
## 应用场景
###
各⼤数码专营店,代理⼚商进⾏销售对应的产品,代理商持有真正的授权代理书
客户端不想直接访问实际的对象,或者访问实际的对象存在困难,通过⼀个代理对象来完成间接的访问
想在访问⼀个类时做⼀些控制,或者增强功能
###
## 角色
###
Subject: 抽象接⼝,**真实对象和代理对象都要实现的⼀个抽象接⼝**,好⽐销售数码产品
Proxy: 包含了对真实对象的引⽤,从⽽可以随意的操作真实对象的⽅法,好⽐ 代理加盟店
RealProject :真实对象,好⽐⼚商销售数码产品
###
![](https://img.kancloud.cn/95/a8/95a8d632718066743b4aefbb10c2fd72_2250x1290.png)
###
具体实现(云效代码study-java项目当中设计模式当中有代码案例)
###
![](https://img.kancloud.cn/3d/d1/3dd15e9d548e159fd8c353ea42d83251_1821x956.png)
###
## 优点
###
可以在访问⼀个类时做⼀些控制,或增加功能
操作代理类⽆须修改原本的源代码,符合开闭原则,系统具有较好的灵活性和可扩展性
- 设计模式六大原则
- 常见的三大设计模式分类
- 创建型模式之单例模式
- 单例模式之懒汉
- 单例模式之饿汉
- 单例模式之如何选择懒汉饿汉
- 什么情况下使用单例模式
- 创建型模式之工厂模式
- 简单工厂模式
- 工厂方法模式
- 抽象工厂模式
- 创建型模式之原型模式
- 创建型模式之建造者模式
- 结构型模式之适配器模式
- 接口的适配器模式
- 类的适配器模式
- 结构型模式之桥接模式
- 结构型模式之桥接模式和适配器模式的区别
- 结构型模式之装饰器模式
- 结构型模式之代理模式
- 结构模式之外观模式
- 结构模式之享元模式
- 行为模式之策略模式
- 行为模式之模板模式
- 行为模式之观察者模式
- 行为模式之责任链模式
- 行为模式之命令模式
- 行为模式之迭代器模式
- 行为模式之备忘录模式
- 行为模式之状态模式