模式名 |
代理模式(Proxy) |
---|---|
定义 |
为其他对象提供一个代理以控制对这个对象的访问。所谓的代理者是指一个类别可以作为其它东西的接口。代理者可以作任何东西的接口:网络连接、内存中的大物件、档案或其它昂贵或无法复制的资源。 著名的代理模式例子为参照计数(英语,reference counting)指标物件。 当一个复杂物件的多份副本须存在时,代理模式可以结合享元模式以减少内存用量。典型作法是建立一个复杂物件及多个代理者,每个代理者会参照到原本的复杂物件。而作用在代理者的运算会转送到原本物件。一旦所有的代理者都不存在时,复杂物件会被移除。 |
实例 |
现实中的各种中介就是代理模式的应用。以HTTP代理服务器访问远程服务器为例。 |
适用场景 |
· 表示的对象在系统的外部 · 对象需要根据需要创建 |