代理模式是一种结构型设计模式,它允许通过一个代理对象控制对其他对象的访问。代理模式引入了一定程度的间接性,使得可以在访问对象前后进行一些额外的操作。代理模式通常包含三个主要角色:抽象主题(Subject)、真实主题(RealSubject)和代理(Proxy)。
- 抽象主题(Subject): 定义了真实主题和代理的共同接口,可以是接口或抽象类。
- 真实主题(RealSubject): 实现了抽象主题接口,是代理模式中的真实对象。
- 代理(Proxy): 实现了抽象主题接口,包含一个指向真实主题的引用,可以控制对真实主题的访问。