代理设计模式

代理设计模式

定义

为目标对象创建代理对象以提供一种代理机制,让目标对象能控制目标对象的访问,可以在不改变目标对象的情况下为目标对象添加额外的功能。

代理模式分类

  • 静态代理模式

    在程序编译器就确定了被代理对象

  • 动态代理模式

    在程序运行期才能确定被代理对象(运用反射机制动态地为目标类创建代理类)

代理模式优缺点

优点

  • 在客户对象和目标对象之间起到一个中介作用和保护目标对象

  • 可以扩展目标对象的功能

  • 将客户对象和目标对象分离,降低耦合度增加程序可扩展性

缺点

  • 增加类的数量

  • 客户对象和目标对象之间增加一个代理对象,会增加请求处理速度变慢

  • 一定程度增加了系统复杂度

使用场景

  • 远程代理:为一个位于不同网络计算机的对象提供一个本地的代理

  • 虚拟代理:需要创建一个大的对象,先创建一个消耗较小的对象表示,真实对象被需要时才创建。

  • 安全代理:控制对真实对象的访问权限,实现权限管理和安全性。

  • 智能指针:用于调目标对象时,代理附加额外功能。

  • 延迟加载:为提高系统的性能。

posted @ 2023-10-06 23:42  3DG  阅读(42)  评论(0)    收藏  举报