|
其他种类的代理:
一、防火墙代理(Firewall Proxy):控制网络资源的访问,保护资源免受“坏客户”的侵害。
二、智能引用代理(Smart Reference Proxy):当主题被引用时,进行额外的动作,例如计算一个对象被引用的次数。
三、缓存代理(Caching Proxy):为开销大的计算结果提供暂时存储。它允许多个客户共享结果以减少计算或网络延迟。
四、同步代理(Synchronization Proxy):在多线程的情况下为主题提供安全的访问。
五、复杂隐藏代理(Complexity Hiding Proxy):用来隐藏一个类的复杂集合的复杂度,并进行访问控制。有时候也成为外观代理(Facade Proxy)。复杂隐藏代理和外观模式是不一样的,因为代理控制访问,而外观模式只提供另一组接口。
六、写入时复制代理(Copy-On-Write Proxy):用来控制对象的复制,方法是延迟对象的复制,直到客户真的需要为止,这是虚拟代理的变体。
模式的分类:
创建型:工厂方法(Factory Method)、抽象工厂(Abstract Factory)、单态/单件(Singleton)。
行为型:状态(State)、策略(Strategy)、观察者(Observer)、模板方法(Template Method)、命令(Command)、迭代器(Iterator)。
结构型:装饰者(Decorator)、外观(Facade)、代理(Proxy)、适配器(Adapter)、组合(Composite)。 |
|