**定义:**
给某个对象提供一个代理,并由代理对象控制对原对象的引用。
**角色:**
- 抽象主题角色:里面包含了抽象的业务操作。
- 代理主题角色:实现抽象主题接口,关联真实主题角色,对真实主题角色的一些业务进行一些预先处理和延后处理。
- 真实主题角色:里面包含的真实的业务需求,客户端调用的时只需要面向代理角色,根据不同的客户,代理角色将给出不同的业务实现,代替真实主题角色进行业务的安排。
---
**核心理解**
代理模式的关键在于:
首先根据依赖倒转原则:具体主题类和代理主题类都要实现自同一个抽象主题角色。
代理主题类关联真实主题类,代替真实主题针对不同的客户做出不同的处理!
---